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

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é
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
 

chinel

XLDnaute Impliqué
.Range("A3:B" & Derlig).RemoveDuplicates Columns:=1, Header:=xlNo j'ai modifié en
.Range("A3:B" & Derlig).RemoveDuplicates Columns:=Array(1, 2,), Header:=xlNo et cela me semble bon mais sans certitudes.
 

Discussions similaires

Réponses
8
Affichages
404
Réponses
7
Affichages
528
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…