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
bonjour

déjà
Derlig, il te manque un point
Derlig = .Range("A" & .Rows.Count).End(xlUp).Row + 1

ensuite.. avant même de mettre en cause le removeduplicate..
tu écrases toi meme la cellule (B, Ligne)
.Range("B" & Derlig).Value = Sheets("compte").Range("B5").Value 'tu mets en Bx
.Range("B" & Derlig).Value = Sheets("compte").Range("B8").Value ' tu remets en Bx==> tu écrases ce qui a été fait juste au dessus
 

vgendron

XLDnaute Barbatruc
et si tu vérifiais un minimum ce que tu fais avec du pas à pas...
et tenir compte de ce qui t'est dit...

 

chinel

XLDnaute Impliqué
si dans le cas, je veux rajouter une ligne en plus, je dois mettre quoi ?

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

par exemple si je veux que la cellule B10 de la facture soit copiée aussi dans la feuille "compte" en cellule C3 ???
 

chinel

XLDnaute Impliqué
à mon avis, tu ne comprends meme pas ce que tu fais.. mais bon pour répondre à la question

Sheets("compte").Range("C3")= Sheets("facture").Range("B10").Value
Pas très sympa comme remarque mais merci quand même , je débute en vba (malgré que je suis mauvais dans ce domaine) car mon domaine, c'est plutôt la programmation en java, python, oracle... un domaine que je métrise super bien après plusieurs années d'étude donc, je pense que tout le monde mérite un peu de respect . De plus le code que tu m'as donné ne s'adapte pas au code initial.

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

De plus le code que tu m'as donné ne s'adapte pas au code initial.
ce code ci: Sheets("compte").Range("C3")= Sheets("facture").Range("B10").Value
 

vgendron

XLDnaute Barbatruc
Je suis désolé que tu le prennes mal, mais je pense que le problème est que ta demande n'est pas claire, et que, comme tu ne connais pas le VBA, tu ne comprends pas le code que l'on te donne

tu as demandé:
je veux que la cellule B10 de la facture soit copiée aussi dans la feuille "compte" en cellule C3
ce qui se traduit bien par
Sheets("compte").Range("C3")= Sheets("facture").Range("B10").Value

et donc.. et si tu postais un fichier "complet" en expliquant clairement ce que tu souhaites faire
 

vgendron

XLDnaute Barbatruc
un peu de rigueur dans ta demande, ce serait bien aussi..
parce que si on répond exactement a ce qui est écrit dans ton fichier. on risque de jouer longtemps...

et sans blaguer.. si le besoin est (comme je pense) de copier B10 de la feuille Facture VERS la colonne D (et pas C comme écrit) de la feuille COMPTE

il me semble que tu as quand meme tous les éléments dans le code déjà fourni pour le faire toi meme...
faut quand meme réfléchir un peu ! et ca. c'est pas spéfique au VBA.. ca marche aussi pour le python java et autres langages...
 

chinel

XLDnaute Impliqué
désolé, oui c'est bien dans la colonne C (rente3) en dessous des autres données

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

J'ai rajouter la ligne (en orange) mais cela ne fonctionne pas car celle-ci écrase la cellule B8 merci encore de ton soutien et de ta patience, désolé je suis vraiment mauvais
 

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…