Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

cellule égale dans la formule

16 réponses
Avatar
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

10 réponses

1 2
Avatar
Daniel.C
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
Avatar
Greg
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" a écrit dans le message de groupe de
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


Avatar
DanielCo
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
Avatar
Greg
Oups.... pardon.... une petite dyslexie des couleurs... C'est effectivement
le contraire...



"DanielCo" a écrit dans le message de groupe 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


Avatar
DanielCo
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" a écrit dans le message de groupe 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


Avatar
Greg
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" a écrit dans le message de groupe de
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" a écrit dans le message de groupe 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








Avatar
DanielCo
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" a écrit dans le message de groupe de
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" a écrit dans le message de groupe 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








Avatar
Greg
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" a écrit dans le message de groupe de
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" a écrit dans le message de groupe de
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" a écrit dans le message de groupe
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














Avatar
news.free.fr
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
Avatar
Greg
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" a écrit dans le message de groupe de
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


1 2