|
Publicité | ||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : juin 2009 Messages : 2 ![]() |
Bonjour à tous,
Je suis en train de réaliser une macro complexe pour moi, donc j'ai besoin d'une aide. Je m'explique : D'un côté, j'ai créé sur un fichier excel, sur feuille 1 appelée nouvelle facture, j'ai intégré un bouton macro avec une cellule vierge à côte, où j'entre manuellement le numéro du fichier "facture_d_acompte_n°X.xls" que je souhaite faire apparaitre suite à une série de collage. Et de l'autre j'ai créé plusieurs fichiers appelé facture_d_acompte_n°1.xls, facture_d_acompte_n°2.xls,etc... et sur chaque fichier en feuille 1 apparait un tableau. Pour le moment ma macro fonctionne mais sans prendre compte du numéro et grâce à l'enregistrement de la facture_d_acompte_n°1 seulement. Ce que je voudrais faire : c'est pouvoir faire apparaitre la facture d'acompte n° que j'aurai choisi grâce à la cellule à côté du bouton macro et tout cela doit se faire lorsque je clique sur le bouton macro????? Voici la macro créée pour le moment, qu'en pensez vous? Code :
Merci d'avance.: Dernière modification par jpcheck ; 29/06/2009 à 18h35. Motif: ajout balises CODE : texte + # dans l'interface de rédaction, ce n'est pas facultatif |
||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé Sénior
![]() |
Salut et bienvenu
il suffit de remplacer "1" dans ta chaine de texte par le contenu du textbox, en faisant un truc comme ça Code :
Workbooks.Open Filename:="F:\(........\Facture\Sauvegarde\Facture_d_acompte_n°" & textbox1.text & ".xls" Je n'ai pas le nom du textbox donc g mis au pif, par contre il serait surement utile de contrôler que le contenu correspond bien a une valeur numérique ou encore mieux remplacer ton textbox par une liste déroulante contenant les numéros possibles a utiliser. Dans un cas comme dans l'autre tu trouveras des info dans la FAQ VBA du site Un commentaire rapide sur le code, je ne sais pas quel sera sa longueur au final mais il serait a mon avis judicieux de déclarer des variable WorkBook et de leur attribuer les 2 fichier que tu utilises, ça évitera d'avoir a taper des noms de fichiers a rallonge a chaque fois, ce qui te permettra aussi d'abandonner les ".Activate" et compagnie En gros ca donnerait un truc comme ca Code :
A++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Score PowerBall Gyroscope Green : 11847 |
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juin 2009 Messages : 2 ![]() |
Merci pour le tuyau....
La ligne de commande est bien mais, je ne veux pas mettre une textbox, il faut que se soit une cellule. Dans cette cellule, il y aura des chiffres de 1 à l'infinie!! As tu une autre idée?? Merci. |
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() |
Salut
Un petit effort de compréhension serait pas mal? non? Il te suffit de remplacer textBox.text par Fichier2.Range("D28").value, en supposant que ta valeur qui va de 1 a l'infini soit en D28 du fichier2 par exemple. A++ Qwaz
__________________
MagicQwaz := Harry Potter la baguette en moins ![]() Le monde dans lequel on vit HammerFest Score PowerBall Gyroscope Green : 11847 |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com