• Initiateur de la discussion Initiateur de la discussion f69815
  • 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 !

f69815

XLDnaute Occasionnel
bonsoir le forum,

dans une feuille je veux recopier une ligne, par rapport à une cellule active, et l'insérer juste en dessous.

en plus il faut incrémenter une cellule de la ligne copier.

voir exemple en pièce jointe

merci d'avance.
 

Pièces jointes

Re : recopie d'une ligne

Bonsoir,

voici un code à lier au bouton:

Code:
Sub copie()
For ligne = 8 To [B]20[/B]
    Range("B" & ligne - 1 & ":F" & ligne - 1).Copy Range("B" & ligne)
    Range("C" & ligne) = Range("C" & ligne - 1) + 1
Next
End Sub

le nombre 20 en gras correspond à la dernière ligne collée.
 
Re : recopie d'une ligne

Bonsoir,

Pas compris la même chose que Skoobi😀:
Code:
Sub Copie()
Dim DerLig As Long, Lig As Long

DerLig = Range("B65500").End(xlUp).Row + 1
Lig = ActiveCell.Row

Range(Cells(Lig, "B"), Cells(Lig, "F")).Copy Destination:=Cells(DerLig, "B")
Cells(DerLig, "C") = Cells(DerLig - 1, "C") + 1

End Sub
ais nécessite que la sélection concerne bien une des lignes déjà renseignées.

Cordialement
 
Re : recopie d'une ligne

Re,

Et un complément
Code:
Sub Copie()
Dim DerLig As Long, Lig As Long

DerLig = Range("B65500").End(xlUp).Row + 1
Lig = ActiveCell.Row

If Not Intersect(ActiveCell, Range("B7:F" & DerLig)) Is Nothing Then
    Range(Cells(Lig, "B"), Cells(Lig, "F")).Copy Destination:=Cells(DerLig, "B")
    Cells(DerLig, "C") = Cells(DerLig - 1, "C") + 1
End If

End Sub
permettant de ne procéder à la copie que si une "bonne" cellule est sélectionnée. Bien sûr si j'ai bien compris la question...

Cordialement
 
Re : recopie d'une ligne

bonjour Spitnolan08, skoobi

je viens de tester vos réponses et elles sont toutes bonnes à prendre.

par contre si l'on est sur une cellule vide, dans tous les cas elle incrémente la colonne C de +1.

je vais essayer de piéger avec le 2 ème code de Spitnolan08 : If Not Intersect(ActiveCell, Range("B7:F" & DerLig)) Is Nothing Then........

je vous transmettrai ma solution.

merci à vous deux.
 
Re : recopie d'une ligne

re,
j'ai trouvé çà :
If Not Intersect(ActiveCell, Range("B7:F" & DerLig)) Is Nothing Then
Range(Cells(Lig, "B"), Cells(Lig, "F")).Copy Destination:=Cells(DerLig, "B")
Cells(DerLig, "C") = Cells(DerLig - 1, "C") + 1
Else
MsgBox "Sélectionner une ligne valide"
End If

et en plus cela fonctionne.

a+
 
- 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

Discussions similaires

Réponses
3
Affichages
211
wDog66
W
Réponses
15
Affichages
522
Réponses
7
Affichages
681
Réponses
10
Affichages
383
Retour