Recopie automatique

Bonjour,

j'essaie en vain de créer une macro que me permette de recopier des valeurs, dans une feuille excel, jusqu'à ce que la valeur suivante soit trouvée, voir ci-dessous.
A noter que les différentes valeurs se trouvent également dans une liste à part, dans le même format, .

Merci d'avance si vous pouvez m'aider.
Bien à vous

Bug

ATH CENTRE - 104000

ATH LES PRIMEVERES - 102200

CHIEVRES - 131700

ENGHIEN - 139400

FRASNES-LEZ-ANVAING - 146500

LESSINES - 167200

2 réponses

  1. Tu peux essayer quelque chose comme ça:

    Sub recopie()

    i = 1 'première ligne à copier (ici la ligne 1)
    Do Until i = 60 'dernière ligne non vide à ne pas recopier
    cop = Cells(i, 1) 'selon la colonne concernée (ici la colonne 1)
    suite = Cells(i + 1, 1)
    Do Until suite <> ""
    suite = Cells(i + 1, 1)
    If suite = "" Then
    Cells(i + 1, 1) = cop
    End If
    i = i + 1
    Loop
    Loop

    End Sub

    Attention à bien mettre une valeur dans ta dernière ligne à ne pas recopier (ici ligne 60) pour que la boucle s'arrête
    1
    1. Bonjour didibonf,

      je rencontre un problème pour insérer les différentes données
      Ci-dessous la 1ère feuille contenant les cellules, je désire que ATH CENTRE - 104000 se recopie automatiquement jusque ATH LES PRIMEVERES - 102200 et ainsi de suite.

      Les différents noms sont également repris sur une 2ème feuille dans une liste en colonne (voir plus bas)

      1ere feuille

      ATH CENTRE - 104000

      ATH LES PRIMEVERES - 102200

      CHIEVRES - 131700

      ENGHIEN - 139400

      2ème feuille

      ATH CENTRE - 104000
      ATH LES PRIMEVERES - 102200
      CHIEVRES - 131700
      ENGHIEN - 139400
      0
    2. bug dany,
      As-tu essayé la macro que je t'ai proposé? Si elle ne fonctionne pas, envoie ton fichier via cjoint.com
      0
    3. Veux-tu écraser les valeur en noir ? Sinon il ne faut pas les mettre dans la même colonne que les valeur à recopier...
      0
    4. Oui, il faut les écraser, seuls doivent rester les noms de ville et les codes.
      Merci d'avance
      Bonne soirée
      Bug
      0
  2. bug dany,
    cette macro devrait fonctionne :

    Sub recopie()

    dernligne = Range("A65000").End(xlUp).Row
    i = 13 'première ligne à copier (ici la ligne 1)
    Do Until i = dernligne
    cop = Cells(i, 1) 'selon la colonne concernée (ici la colonne 1)
    suite = Cells(i + 1, 1)
    On Error Resume Next
    Do Until suite = WorksheetFunction.VLookup(suite, Sheets("Liste des entités").Range("A:A"), 1, False)
    suite = Cells(i + 1, 1)
    If suite <> WorksheetFunction.VLookup(suite, Sheets("Liste des entités").Range("A:A"), 1, False) Then
    Cells(i + 1, 1) = cop
    End If
    Loop
    i = i + 1
    Loop
    End Sub

    N'hésite pas à poser des questions si tu ne comprends pas le code
    0