Macro copier coller en sautant des lignes
Résolu
gazoline11
-
gazoline11 -
gazoline11 -
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
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
A voir également:
- Macro copier coller en sautant des lignes
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Historique copier coller - Guide
- Copier coller pdf - Guide
- Copier-coller - Accueil - Informatique
- Style d'écriture a copier coller - Guide
4 réponses
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+
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+
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....
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....
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.
A+
EDIT : Il serait prudent de faire une copie de ton classeur avant d'envoyer la macro.
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.