Recopie automatique

bug dany Messages postés 18 Statut Membre -  
didibonf Messages postés 418 Date d'inscription   Statut Membre Dernière intervention   -
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. didibonf Messages postés 418 Date d'inscription   Statut Membre Dernière intervention   96
     
    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. bug dany Messages postés 18 Statut Membre
       
      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. didibonf Messages postés 418 Date d'inscription   Statut Membre Dernière intervention   96
       
      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. didibonf Messages postés 418 Date d'inscription   Statut Membre Dernière intervention   96
       
      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. bug dany Messages postés 18 Statut Membre
       
      Oui, il faut les écraser, seuls doivent rester les noms de ville et les codes.
      Merci d'avance
      Bonne soirée
      Bug
      0
  2. didibonf Messages postés 418 Date d'inscription   Statut Membre Dernière intervention   96
     
    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