Problème de boucle pour macro excel
Résolu/Fermé
A voir également:
- Problème de boucle pour macro excel
- Liste déroulante excel - Guide
- Formule excel - Guide
- Déplacer une colonne excel - Guide
- Convertir chiffre en lettre excel sans macro ✓ - Forum Excel
- Aller à la ligne excel - Guide
2 réponses
Bonjour
J'essaye de résumer:
Les noms de fichiers se trouvent entre A1 et A62 ?
tu veux simplement enregistrer des fichiers (vides!) dont le nom provient des cellules A1 à A62?
Apportes quelques éclaircissements et la solution n'est pas loin!
A+
J'essaye de résumer:
Les noms de fichiers se trouvent entre A1 et A62 ?
x devrait prendre la valeur 2 dans Dx, Ex et Fx, mais rien ne se passe: rien n'est exprimé en fonction de x (je ne vois pas de Ex ou Fx), sauf dans
ActiveCell.Formula = "=Liste!Dx"mal écrit et qui sert à quoi ?
tu veux simplement enregistrer des fichiers (vides!) dont le nom provient des cellules A1 à A62?
Apportes quelques éclaircissements et la solution n'est pas loin!
A+
Je comprend mieux.
Voila qui doit répondre à ta question:
Sub Sauvegarde_Fichiers()
Dim i As Integer '(dans les indices de boucle on met de préférence les lettres i,j,k...)
For i = 2 To 61
' on copie dans les cellules A1 à A60 de la feuille "bareme" les valeurs r des cellules D2 à D61 de la feuille "liste"
Worksheets("BAREME").Cells(i - 1, 1).Value = Worksheets("Liste").Cells(i, 1).Value
'Sauvegarder le fichier dans le répertoire sous le nom contenu en A1
Chemin = ActiveWorkbook.Path
Fichier = Worksheets("BAREME").Cells(i - 1, 1).Value
ActiveWorkbook.SaveAs Filename:=Chemin & "\" & Fichier & ".xls", FileFormat _
:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
False, CreateBackup:=False
Next i
End Sub
les lignes en italiques sont des explications(?) ou plutot commentaires.
Je ne suis pas sur que la plage D2 à D61 de la feuille liste doit être copiée intégralement dans bareme .
Si ce n'est pas le cas, ou si tu ne comprend pas tout , fais signe .
A+
Voila qui doit répondre à ta question:
Sub Sauvegarde_Fichiers()
Dim i As Integer '(dans les indices de boucle on met de préférence les lettres i,j,k...)
For i = 2 To 61
' on copie dans les cellules A1 à A60 de la feuille "bareme" les valeurs r des cellules D2 à D61 de la feuille "liste"
Worksheets("BAREME").Cells(i - 1, 1).Value = Worksheets("Liste").Cells(i, 1).Value
'Sauvegarder le fichier dans le répertoire sous le nom contenu en A1
Chemin = ActiveWorkbook.Path
Fichier = Worksheets("BAREME").Cells(i - 1, 1).Value
ActiveWorkbook.SaveAs Filename:=Chemin & "\" & Fichier & ".xls", FileFormat _
:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
False, CreateBackup:=False
Next i
End Sub
les lignes en italiques sont des explications(?) ou plutot commentaires.
Je ne suis pas sur que la plage D2 à D61 de la feuille liste doit être copiée intégralement dans bareme .
Si ce n'est pas le cas, ou si tu ne comprend pas tout , fais signe .
A+
30 mars 2009 à 20:05
Alors voici.
Mon classeur Excel a deux feuille, une nommée "BAREME" et une autre nommé "Liste"
Ce que j'essais de faire, c'est de prendre le premier nom qui se trouve dans la plage D2:D61 de la feuille "Liste", de le copier dans la cellule A1 de la feuille "BAREME" puis d'enregistrer le fichier sous le nom qui ce trouve dans la cellule A1 de la feuille "BAREME".
Maintenant, je dois faire ces étapes pour chacun des noms contenus dans la plage D2:D61 de la feuille "Liste"
Merci beaucoup,
RR