XL 2019 code vba pour copier cellule

chinel

XLDnaute Impliqué
Bonjour le forum j'ai un code en vba qui fonctionne bien mais je désire ajouter une ligne . Quand je mets cette ligne (en bleu), rien ne se passe, merci de votre aide

Sub copiercellules()
Dim Derlig&
With Sheets("facture")
Derlig = .Range("A" & Rows.Count).End(xlUp).Row + 1
.Range("A" & Derlig).Value = Sheets("compte").Range("B4").Value
.Range("B" & Derlig).Value = Sheets("compte").Range("B5").Value
.Range("B" & Derlig).Value = Sheets("compte").Range("B8").Value
.Range("A3:B" & Derlig).RemoveDuplicates Columns:=1, Header:=xlNo
End With
End Sub
 

vgendron

XLDnaute Barbatruc
le mieux.. y en a pas.. ==> le +1 je dirais.. ca évite de recalculer Derlig

par contre.. si tu lances deux fois de suite ta macro.. la valeur de B10 sera ecrasée. puisque le derlig arrivera sur la ligne du B10....

j'explique
1) ton tableau "Compte" est vide: il n'y a QUE les entetes en ligne1
2) tu lances la macro
==> Derlig =2
A2 - B2 et C2 sont remplies avec les valeurs de B4 -B5 et B8
C3 remplie avec B10

3) tu lances une seconde fois la macro
Derlig = 3
A3 B3 et C3 sont remplies avec les valeurs de B4 -B5 et B8
==> et donc C3 du premier run est écrasée..

pour éviter ca
Derlig=.range("C" &.rows.count).end(xlup).row+1
 

chinel

XLDnaute Impliqué
le mieux.. y en a pas.. ==> le +1 je dirais.. ca évite de recalculer Derlig

par contre.. si tu lances deux fois de suite ta macro.. la valeur de B10 sera ecrasée. puisque le derlig arrivera sur la ligne du B10....

j'explique
1) ton tableau "Compte" est vide: il n'y a QUE les entetes en ligne1
2) tu lances la macro
==> Derlig =2
A2 - B2 et C2 sont remplies avec les valeurs de B4 -B5 et B8
C3 remplie avec B10

3) tu lances une seconde fois la macro
Derlig = 3
A3 B3 et C3 sont remplies avec les valeurs de B4 -B5 et B8
==> et donc C3 du premier run est écrasée..

pour éviter ca
Derlig=.range("C" &.rows.count).end(xlup).row+1
merci pour ton explication. une autre petite question j'ai un souci avec "RemoveDuplicates" qui ne fonction que avec certaines colonnes
 

chinel

XLDnaute Impliqué
Sub copiercellules()
Dim Derlig&
With Sheets("facture")
Derlig = .Range("A" & Rows.Count).End(xlUp).Row + 1
.Range("A" & Derlig).Value = Sheets("compte").Range("B4").Value
.Range("B" & Derlig).Value = Sheets("compte").Range("B5").Value
.Range("B" & Derlig+1).Value = Sheets("compte").Range("B8").Value
.Range("A3:B" & Derlig).RemoveDuplicates Columns:=1, Header:=xlNo
End With
End Sub

j'ai bien mis "Derlig+1" et cela fonctionne mais cela n'évite pas les doublons
 

Statistiques des forums

Discussions
312 215
Messages
2 086 324
Membres
103 178
dernier inscrit
BERSEB50