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

Copier la valeur d'une cellule adjacente

joelpelle

XLDnaute Junior
Bonjour le Forum,

Débutant en VBA, je cherche depuis ce matin une macro pour copier la valeur d'une cellule adjacente (A1) dans celle d'à côté, (B1) quand la valeur de A1 change.

Je tourne autour sans réussir à déterminer le résultat

Je vous remercie de votre aide, et je vous joins un petit fichier.

Bien cordialement

Joel
 

Pièces jointes

  • Compte.zip
    29.3 KB · Affichages: 66
  • Compte.zip
    29.3 KB · Affichages: 70
  • Compte.zip
    29.3 KB · Affichages: 72

JNP

XLDnaute Barbatruc
Re : Copier la valeur d'une cellule adjacente

Bonsoir Joel
Je tourne autour sans réussir à déterminer le résultat
Sans vouloir te vexer, tu risques de tourner encore longtemps autour
Si j'ai bien regardé ton fichier :
But de la macro : Si A change, je copie la valeur de B (obtenue d'après formule) dans C (au format texte) pour ne pas la perdre.
Mais ça ne va se traduire que par 2 cellules visuellement identiques : le résultat de la formule en B, et la copie de son résultat en C. Et au moindre changement de A, les 2 seront modifiées...
Ou alors, il nous manque le critère qui nous dit qu'on ne touche plus à C quel que soit les changements de A.
A te lire
 

joelpelle

XLDnaute Junior
Re : Copier la valeur d'une cellule adjacente

Bonsoir JNP, bonsoir le forum

Je te remercie de t'intéresser à mon problème.

Je souhaite copier et coller la valeur de B en C par le biais d'un copier/collage spécial/valeur.
Ce qui fait que si B change, et il n'y a pas de raison, vu que c'est un code comptable, C garde sa première valeur.
Du style :

Range("B4").Select
Selection.Copy
Range("C4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Au final, je souhaite que quand j'entre une valeur dans une autre feuille, qui correspond a un nouveau compte :

=SI(ESTNA(RECHERCHEV(A3;Plan;3;FAUX));"";RECHERCHEV(A3;Plan;3;FAUX))

la valeur de la cellule B est renseignée (ça ça marche) et qu'il me copie dans la cellule adjacente la valeur de B.
Je me crée ainsi ma base de données.

J'espère que mon explication est claire !

Encore merci pour ton aide.

Bien cordialement

Joel
 

JNP

XLDnaute Barbatruc
Re : Copier la valeur d'une cellule adjacente

Re ,
le problème est que ce qui change est issu d'une formule. Du coup, tu ne peux pas utiliser Private Sub Worksheet_Change(ByVal Target As Range) qui te renvoie la cellule qui vient de subir une saisie, ni Private Sub Worksheet_SelectionChange(ByVal Target As Range) qui te renvoie la cellule que tu viens de sélectionner...
Il ne te reste, à mon avis, que Private Sub Worksheet_Calculate(), mais qui va se déclencher à chaque calcul de la feuille.
Maintenant, comment savoir que c'est B12 ou B20 qui vient de changer ? Tu peux faire un test en boucle sur B12 à un retour de recherche ET C12 vide...
En espérant que ça t'aide
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…