Macro copier coller en sautant des lignes

Résolu
Bonjour,

Je n'arrive pas à faire ma macro dans excel:
je souhaite que la cellule A19 / B19 et D19 soit respectivement coller en B18 / C18 et D18
puis supprimer toutes les lignes de la colonne A qui sont vides.
Puis dès que la cellule de la colonne A comprend qqch, effectuer le même collage....et ce jusqu'en A1000.

Je vous montre ma macro mais elle est très loin de fonctionner.

Sub Miseenformeadresse()
'
' Miseenformeadresse Macro
' Macro enregistrée le 05/02/2010 par
'

'
Selection.Cut
Range("B16").Select
ActiveSheet.Paste
Range("A18").Select
Selection.Cut
Range("C16").Select
ActiveSheet.Paste
Range("D17").Select
Selection.Cut
Range("D16:F16").Select
ActiveSheet.Paste
Rows("17:19").Select
Range("A19").Activate
Selection.Delete Shift:=xlUp
Range("A18").Select
Selection.Cut
Range("B17").Select
ActiveSheet.Paste
Range("A19").Select
Selection.Cut
Range("C17").Select
ActiveSheet.Paste
Range("D18").Select
Selection.Cut
Range("D17:F17").Select
ActiveSheet.Paste
Rows("18:20").Select
Range("A20").Activate
Selection.Delete Shift:=xlUp
End Sub
Configuration: Windows XP Internet Explorer 8.0

4 réponses

  1. Contributeur
    Bonjour,
    J'ai essayé de comprendre ton exposé mais ça va pas, si tu enlève les lignes vides où mettre les données qui restent ?
    Donne plus d'explications (plus claires si possible) ou met un exemple de to classeur sur Cjoint
    A+
    0
    1. Merci pour votre réponse.

      Mon tableau est https://www.cjoint.com/?cgbiy30PU1

      En fait, j'ai copié les adresses sur un site d'annuaire pro en ligne mais le pb c'est que les adresses se mettent en colonne et non en ligne.
      Je voudrais donc remettre en forme mon fichier client pour faire du publipostage, donc en ligne.
      C'est pourquoi, il faut que les cellules A19 / A20 et D19 soit respectivement coller en B18 / C18 et D18
      puis supprimer toutes les lignes de la colonne A qui sont vides (les coordonnées fax ne m'intéresse pas donc on peut supprimer avec la ligne).
      Puis dès que la cellule de la colonne A comprend qqch, effectuer le même collage....et ce jusqu'en A1000.

      Je sais pas si c'est plus clair pour vous !

      @ bientot j'espère....
      0
      1. Contributeur
        OK, je pense que j'ai compris.
        Attention, si tu a modifié le classeur que tu a mis sur Cjoint il faut adapter le début des modif.. Adapter Lig=15.
        Si tu n'a rien changer envoyer la macro.
        Sub Miseenformeadresse()
        Dim Lig As Long
            Lig = 15
            While Range("A65536").End(xlUp).Row > Lig
                If Cells(Lig, 1) = "" Then
                    Rows(Lig).Delete
                Else
                    Rows(Lig).MergeCells = False
                    Cells(Lig, 2) = Cells(Lig + 1, 1)
                    Cells(Lig, 3) = Cells(Lig + 2, 1)
                    Cells(Lig, 4) = Cells(Lig + 1, 4)
                    Rows(Lig + 1 & ":" & Lig + 2).Delete
                    Lig = Lig + 1
                End If
                DoEvents
            Wend
        End Sub

        A+
        EDIT : Il serait prudent de faire une copie de ton classeur avant d'envoyer la macro.
        0
        1. Merci beaucoup la macro marche super !!!

          1000 mercis

          Marie
          0