Faire une boucle pour copier une valeur coller formule

Fermé
Margotti Messages postés 1 Date d'inscription mercredi 10 juin 2015 Statut Membre Dernière intervention 10 juin 2015 - 10 juin 2015 à 10:25
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 - 10 juin 2015 à 19:23
Bonjour !

J'ai suivi une formation express sur excel mais on n'a guère plus appris à enregistrer une macro.
J'ai un fichier avec des nom de villes différentes dans la colonne A et dans les colonnes B à DQ, j'ai des formules qui sont liées à d'autres classeurs (un classeur pour chaque ville, ils sont tous identiques pour toutes les villes). J'ai donc copier coller la première ligne sur toutes les suivantes mais maintenant je dois faire des copier (je copie le nom de la ville), remplacer _Ales (c'est la première ville de ma liste) par le nom de ma nouvelle ligne _Creil par exemple.
Quand j'enregistre une macro ça donne ça :
Sub remplace()
'
' remplace Macro
'
' Touche de raccourci du clavier: Ctrl+r
'
ActiveCell.FormulaR1C1 = "Courrieres"
Rows("14:14").Select
Selection.Replace What:="_Ales", Replacement:="_Courrieres", LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Range("A15").Select
ActiveCell.FormulaR1C1 = "Creil"
Rows("15:15").Select
Selection.Replace What:="_Ales", Replacement:="_Creil", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Range("A16").Select
ActiveCell.FormulaR1C1 = "Dijon"
Rows("16:16").Select
Selection.Replace What:="_Ales", Replacement:="_Dijon", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub

Il faudrait que j'arrive à déclarer une variable et que je fasse une boucle pour tant qu'il y ait une valeur dans les cellules de la colonne A, excel remplace le nom _Ales par le contenu de la première cellule de la première ligne. J'ai testé des choses mais je n'y arrive pas, je ne crois pas que ce soit difficile mais bon je tourne en rond....
A voir également:

1 réponse

Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
10 juin 2015 à 19:23
Bonjour
en commençant à partir de la ligne 17, (à la suite de ce que vous avez déjà fait), les noms des villes étant en colonne A.
Option Compare Text
Sub Remplace()
    Dim Ville
    Application.ScreenUpdating = False
    PremièreLigne = 17
    For i = PremièreLigne To [A100000].End(xlUp).Row
        Ville = "_" & Cells(i, 1)
        Rows(i).Select
        Selection.Replace What:="_Ales", Replacement:=Ville, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Next i
End Sub

Cdlt
0