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
 

Discussions similaires

Réponses
8
Affichages
403
Réponses
7
Affichages
528

Statistiques des forums

Discussions
315 095
Messages
2 116 158
Membres
112 673
dernier inscrit
ìntellisoft