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:D

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:D
Sans vouloir te vexer, tu risques de tourner encore longtemps autour :p
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 :cool:
 

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 :cool:
 

Discussions similaires

Statistiques des forums

Discussions
312 519
Messages
2 089 247
Membres
104 079
dernier inscrit
zaqichan