cellule égale dans la formule

Le
Greg
Bonjour,

Soit une cellule A4 qui a comme formule:

=ALEA.ENTRE.BORNES(1;9)

Je voudrais que la cellule B5 copie cette formule automatiquement en A4,
mais pas le résultat. Ainsi, A4 pourrait avoir comme valeur 6, alors que B5
aurait comme valeur 2. Petite difficulté supplémentaire : il se peut que A4
affiche un nombre qui n'est pas appelé par une formule ; dans ce cas, B5
devra prendre le contenu.

En résumé, comment une cellule peut copier le contenu d'une autre, formule
et/ou valeur?

Merci pour votre aide

Greg
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #22852291
Greg a exprimé avec précision :
Bonjour,

Soit une cellule A4 qui a comme formule:

=ALEA.ENTRE.BORNES(1;9)

Je voudrais que la cellule B5 copie cette formule automatiquement en A4, mais
pas le résultat. Ainsi, A4 pourrait avoir comme valeur 6, alors que B5 aurait
comme valeur 2. Petite difficulté supplémentaire : il se peut que A4 affiche
un nombre qui n'est pas appelé par une formule ; dans ce cas, B5 devra
prendre le contenu.

En résumé, comment une cellule peut copier le contenu d'une autre, formule
et/ou valeur?

Merci pour votre aide...

Greg



Bonjour.
Mets la macro suivante dans le module de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "A4" Then [B5] = Target.Formula
End Sub

Cordialement.
Daniel
Greg
Le #22856971
Bonjour Daniel et merci pour cette réponse,

Malheureusement, je n'arrive pas à faire fonctionner la macro (cf. feuil1 du
cjoint).

Le fichier cJoint : http://cjoint.com/?0lCpQoirKHB

Je me suis dit qu'il serait plus aisé de présenter directement le problème
pour éviter de se confronter à mon petit niveau... J'ai donc joins en
feuille 2 le document proche de celui qui va être finalisé. Je l'ai
débarrassé des fioritures. L'idée est d'écrire sur la ligne bleue une
opération à réaliser, et qu'elle soit reprise en dessous dans les cellules
jaunes. Comme j'ai un grand nombre de fiches différentes à réaliser, je
voudrais construire une maquette qui automatise...

Si c'est une formule, les cellules bleues de la colonne la reprenne. Si ce
n'est pas une formule, les cellules bleues de la colonne reprennent le
contenu de la cellule jaune.

J'espère être clair et te remercie de ton aide.

Greg






u"Daniel.C" discussion : 4cf0cfe9$0$2576$
Greg a exprimé avec précision :
Bonjour,

Soit une cellule A4 qui a comme formule:

=ALEA.ENTRE.BORNES(1;9)

Je voudrais que la cellule B5 copie cette formule automatiquement en A4,
mais pas le résultat. Ainsi, A4 pourrait avoir comme valeur 6, alors que
B5 aurait comme valeur 2. Petite difficulté supplémentaire : il se peut
que A4 affiche un nombre qui n'est pas appelé par une formule ; dans ce
cas, B5 devra prendre le contenu.

En résumé, comment une cellule peut copier le contenu d'une autre,
formule et/ou valeur?

Merci pour votre aide...

Greg



Bonjour.
Mets la macro suivante dans le module de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "A4" Then [B5] = Target.Formula
End Sub

Cordialement.
Daniel


DanielCo
Le #22857071
L'idée est d'écrire sur la ligne bleue une opération à réaliser, et qu'elle
soit reprise en dessous dans les cellules jaunes



Bonjour.
Je ne comprends pas, la seule ligne jaune est au dessus des lignes
bleues.
Daniel
Greg
Le #22857061
Oups.... pardon.... une petite dyslexie des couleurs... C'est effectivement
le contraire...



"DanielCo" discussion : ictqnd$ni4$
L'idée est d'écrire sur la ligne bleue une opération à réaliser, et
qu'elle soit reprise en dessous dans les cellules jaunes



Bonjour.
Je ne comprends pas, la seule ligne jaune est au dessus des lignes bleues.
Daniel


DanielCo
Le #22858071
OK pour recopier B4 en B5 :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "B4" Then [B5] = Target.Formula
End Sub
mais que faut-il mettre dans les cellules en dessous ?
Daniel


Oups.... pardon.... une petite dyslexie des couleurs... C'est effectivement
le contraire...



"DanielCo" discussion : ictqnd$ni4$
L'idée est d'écrire sur la ligne bleue une opération à réaliser, et
qu'elle soit reprise en dessous dans les cellules jaunes



Bonjour.
Je ne comprends pas, la seule ligne jaune est au dessus des lignes bleues.
Daniel


Greg
Le #22858401
En fait, toutes les cellules en bleu de la colonne B, soit (B5:B22) et
(B27:B45), doivent appliquer la règle :

Si B4 est une formule, elles appliquent la formule. Si ce n'est pas une
formule, elles reprennent le contenu de B4. Dans l'exemple, c'est une
formule, donc application de la formule pour la colonne B.

Pour la colonne C, même histoire avec la C4 come référence et l'application
de la règle de (C25:C22) et de (C27:C45). Dans l'exemple, ce n'est pas une
formule, donc copie de la cellule.


.... et ainsi de suite pour toutes les colonnes jusque K

Merci

Greg



"DanielCo" discussion : icu5cg$jd2$
OK pour recopier B4 en B5 :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "B4" Then [B5] = Target.Formula
End Sub
mais que faut-il mettre dans les cellules en dessous ?
Daniel


Oups.... pardon.... une petite dyslexie des couleurs... C'est
effectivement le contraire...



"DanielCo" discussion : ictqnd$ni4$
L'idée est d'écrire sur la ligne bleue une opération à réaliser, et
qu'elle soit reprise en dessous dans les cellules jaunes



Bonjour.
Je ne comprends pas, la seule ligne jaune est au dessus des lignes
bleues.
Daniel








DanielCo
Le #22858621
Utilise :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "B4" Then
Range("B5:B22,B27:B45") = Target.Formula
End If
End Sub

Daniel


En fait, toutes les cellules en bleu de la colonne B, soit (B5:B22) et
(B27:B45), doivent appliquer la règle :

Si B4 est une formule, elles appliquent la formule. Si ce n'est pas une
formule, elles reprennent le contenu de B4. Dans l'exemple, c'est une
formule, donc application de la formule pour la colonne B.

Pour la colonne C, même histoire avec la C4 come référence et l'application
de la règle de (C25:C22) et de (C27:C45). Dans l'exemple, ce n'est pas une
formule, donc copie de la cellule.


.... et ainsi de suite pour toutes les colonnes jusque K

Merci

Greg



"DanielCo" discussion : icu5cg$jd2$
OK pour recopier B4 en B5 :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "B4" Then [B5] = Target.Formula
End Sub
mais que faut-il mettre dans les cellules en dessous ?
Daniel


Oups.... pardon.... une petite dyslexie des couleurs... C'est
effectivement le contraire...



"DanielCo" discussion : ictqnd$ni4$
L'idée est d'écrire sur la ligne bleue une opération à réaliser, et
qu'elle soit reprise en dessous dans les cellules jaunes



Bonjour.
Je ne comprends pas, la seule ligne jaune est au dessus des lignes
bleues.
Daniel








Greg
Le #22858611
Merci Daniel,

Si j'ai bien compris, je crée un module associé à la feuille puis je colle
le code. Je dois oublié quelque chose car rien ne se passe. ...??? J'ai du
oublié quelque chose. Peut-etre dois-je écrire dans le code de la feuille
pour appeler la macro....??? Je ne sais pas... Je n'ai toujours pas compris
le principe. Mais je vais m'y mettre, j'ai commandé des bouquins ;-))

Ensuite, je suppose que je copie 10 fois le code en changeant la lettre pour
que chaque colonne soit gérée par une macro...

Bonne fin de soirée

Greg

"DanielCo" discussion : icuco2$5lj$
Utilise :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "B4" Then
Range("B5:B22,B27:B45") = Target.Formula
End If
End Sub

Daniel


En fait, toutes les cellules en bleu de la colonne B, soit (B5:B22) et
(B27:B45), doivent appliquer la règle :

Si B4 est une formule, elles appliquent la formule. Si ce n'est pas une
formule, elles reprennent le contenu de B4. Dans l'exemple, c'est une
formule, donc application de la formule pour la colonne B.

Pour la colonne C, même histoire avec la C4 come référence et
l'application de la règle de (C25:C22) et de (C27:C45). Dans l'exemple,
ce n'est pas une formule, donc copie de la cellule.


.... et ainsi de suite pour toutes les colonnes jusque K

Merci

Greg



"DanielCo" discussion : icu5cg$jd2$
OK pour recopier B4 en B5 :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "B4" Then [B5] = Target.Formula
End Sub
mais que faut-il mettre dans les cellules en dessous ?
Daniel


Oups.... pardon.... une petite dyslexie des couleurs... C'est
effectivement le contraire...



"DanielCo" de discussion : ictqnd$ni4$
L'idée est d'écrire sur la ligne bleue une opération à réaliser, et
qu'elle soit reprise en dessous dans les cellules jaunes



Bonjour.
Je ne comprends pas, la seule ligne jaune est au dessus des lignes
bleues.
Daniel














news.free.fr
Le #22858671
Nan, tu le mets là où tu as collé le premier (à la place); tu fais un
clic droit sur l'onglet de Feuil2 et tu fais un clic sur "Visualiser le
code". Là, tu colles la macro dans la partie droite de la fenêtre VBE
qui vient de s'ouvrir au bon endroit.
PS. Si tu as besoin, je te renvoie ton classeur modifié.
Daniel
Greg
Le #22858731
Bah je ne comprends pas... C'est ce que j'ai fait et rien ne se passe...

J'avoue que le classeur modifié me permettrait d'avancer.

Merci d'avance

Greg

"news.free.fr" discussion : 4cf2b9a8$0$25525$
Nan, tu le mets là où tu as collé le premier (à la place); tu fais un clic
droit sur l'onglet de Feuil2 et tu fais un clic sur "Visualiser le code".
Là, tu colles la macro dans la partie droite de la fenêtre VBE qui vient
de s'ouvrir au bon endroit.
PS. Si tu as besoin, je te renvoie ton classeur modifié.
Daniel


Publicité
Poster une réponse
Anonyme