Boucle sur une plage de cellule

  • Initiateur de la discussion Initiateur de la discussion man95
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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+
 
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
 
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+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour