Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

boucle de copie

  • Initiateur de la discussion Initiateur de la discussion BBdoc
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

BBdoc

Guest
Bonjour,

je voudrais faire une boucle de copie que je déclencherai manuellement

par l'enregistrement de macro, j'obtiens la macro suivante

Code:
Sub boucledecopie()
'
' boucledecopie Macro
' Macro enregistrée le 23/02/2012 par BBDOC
'

'
    Range("G9").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("G10").Select
    ActiveSheet.Paste
    Range("E10:H10").Select
    Application.CutCopyMode = False
    Range("E10:H10").Cut Destination:=Range("E9:H9")
    Rows("10:10").Select
    Selection.Delete Shift:=xlUp
End Sub

je sais que je dois remplacer la cellule g9 par active.cell, mais après je me perd dans la formulation pour décaler ma cellule active.
range (active.cell+1) ne marche pas.

Une ame charitable pourrait me donner la formulation correcte?

Merci.
 
Re : boucle de copie

le resultat recherché est le suivant :

je descends la cellule G9 en G10 et je remonte les cellules E10 à H10 en E9 à H9 puis j'efface la ligne 10

et G9 étant ma cellule active, je répete la macro pour chaque "ligne" que je veux modifier
 
Re : boucle de copie

c'est presque ça, sauf que tu n'as pas pris en compte le fait que je déplacais la cellule G dans la macro.

par contre à quoi sert le .resize (,4) ?c'est pour selectionner les 4 cellules ?
 
Re : boucle de copie

merci pierrot93 de m'avoir aider.

Avec ton aide j'ai réussi à finaliser le code pour avoir ce que je voulais.
Je te joins la correction que j'ai apportée.

Code:
Dim i As Long
i = ActiveCell.Row

With Range("G" & i)
    .Copy Range("G" & i + 1)
End With

With Range("E" & i + 1 & ":H" & i + 1)
    .Copy Range("E" & i & ":H" & i)
Rows(i + 1).Delete
End With

Mille mercis
 
Re : boucle de copie

Bonjour à tous


Pour traiter tout le tableau, code pour la feuille Feuil1 :
VB:
Sub tata()
Dim i&
    i = [G3].Row
    Do While Not IsEmpty(Range("G1").Offset(i - 1))
        Range("E1:F1").Offset(i).Cut Destination:=Range("E1:F1").Offset(i - 1)
        Range("H1").Offset(i - 1).Cut Destination:=Range("H1").Offset(i - 2)
        Range("1:1").Offset(i).Delete Shift:=xlUp
        i = i + 1
    Loop
End Sub
(Je hais les cellules fusionnées.)



ROGER2327
#5532


Dimanche 1er Pédale 139 (Erection du Surmâle - fête Suprême Tierce)
5 Ventôse An CCXX, 0,9338h - bouc
2012-W08-5T02:14:28Z
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
791
Réponses
2
Affichages
582
B
  • Résolu(e)
2
Réponses
16
Affichages
2 K
benbella1991
B
L
Réponses
9
Affichages
1 K
B
  • Question Question
Réponses
4
Affichages
995
bd.afaf
B
B
  • Question Question
Microsoft 365 Copie des données
Réponses
0
Affichages
660
bd.afaf
B
J
Réponses
22
Affichages
3 K
jui42
J
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…