Boucle sur une plage de cellule

man95

XLDnaute Occasionnel
Bonjour à vous tous

J'ai une petite question simple pour certains, bloquante pour moi

j'ai une macro dans un classeur (Test.XLS) qui ouvre un classeur (tata.XLS), copie la feuil1 dans test.xls, la renomme en tata puis ferme ferme tata.xls.

A terme je voudrais lancer la même macro mais pour X classeurs en évitant de la recopier a chaque fois car seul le nom du classeur change.

ma boucle commence par le classeur Tata.XLS, puis Toto.XLS, Titi.xls....

Tous mes classeurs sont dans le même repertoire.
Le nom des mes fichiers *.XLS sont dans la colonne A:A de mon fichier Test.xls

Auriez vous une idée de la façon dont je dois construire cette boucle ?

Merci d'avance pour vos réponses

MPR
 
G

Guest

Guest
Re : Boucle sur une plage de cellule

bonsoir,

voici une proposition de structure de boucle.

Code:
Sub LaJolieMacro()
 
  'Un constante contenant le nom du dossier où se trouvent les fichiers
    Const [COLOR=red]LeDossier[/COLOR] As String = "[COLOR=red]C:\bnbnnb\nvnvnvn\[/COLOR]"
 
  'Référencera une cellule de la colonne A (1)
    Dim c As Range
 
    'Un compteur de boucle
    Dim i As Long 
 
   'Travailler sur la feuille qui contient la colonne A
   'Remplacer le nom de la feuille qui contient les noms de fichier
 
    With Sheets("[COLOR=red]nom_de_la_Feuille_qui_contient_les_noms_de_fichier[/COLOR]")
        Do
            i = i + 1
            'Appel de la macro qui va faire le travail sur le fichier passé en paramètre
            Call [COLOR=red]LaMacroQuiFaitLeTravailSurLeFichier[/COLOR](LeDossier & .Cells(i, 1))
 
        'Boucle tant qu'on ne trouve pas une cellule vide en A:A
        Loop While Not IsEmpty(.Cells(1, i))
 
    End With
 
End Sub
 
Sub [COLOR=red]LaMacroQuiFaitLeTravailSurLeFichier[/COLOR]([COLOR=red]LeNomCompletDuFichier[/COLOR] As String)
'........
'.........Ouverture du fichier
'.........Copiage de la feuille dans le fichier
'.........Fermeture du fichier
End Sub

A+
 

man95

XLDnaute Occasionnel
Re : Boucle sur une plage de cellule

Bonsoir Hasco et merci pour ta réponse

Je vais tester ta solution par contre peux tu m'expliquer pourquoi il faut que je rajoute dans le nom de ma macro existante (... as string)

je crois comprendre que ma macro ce comporte comme une variable texte ?

Merci

MPR
 

man95

XLDnaute Occasionnel
Re : Boucle sur une plage de cellule

Re

M. HASCO


j'ai encore un question ...

sur la ligne
Sub LaMacroQuiFaitLeTravailSurLeFichier(LeNomCompletDuFichier As String)
A qoui correspond LeNomCompletDuFichier?


Merci de ta réponse

MPR
 
G

Guest

Guest
Re : Boucle sur une plage de cellule

bonjour,

dans
Code:
Sub LaMacroQuiFaitLeTravailSurLeFichier(LeNomCompletDuFichier As String)

Est un paramètre passé à la macro.

ton premier message à dit:
j'ai une macro dans un classeur (Test.XLS) qui ouvre un classeur (tata.XLS), copie la feuil1 dans test.xls, la renomme en tata puis ferme ferme tata.xls.

J'ai supposé que tu connaissais VBA a minima. Si ce n'est pas le cas, cela va être difficile. Aussi je t'invite d'abord à trouver, soit un livre ou un site d'initiation, du langage ou encore de faire appel à l'aide d'excel, pour savoir comment on passe des paramètres à des macro et autres procédure sub ou fonction.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 379
Messages
2 087 762
Membres
103 661
dernier inscrit
fcleves