Bonsoir,
Avec une macro, je peux faire une copie de cellule contenant une valeur
texte.
Mais si dans cette cellule, c'est une formule qui fait le texte, la macro ne
copie pas, pourquoi ?
A1 contient une formule qui donne le mot "ok"
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [A1]) Is Nothing And Target.Count = 1 Then
If Target = "ok" Then Macro1
End If
End Sub
Sub Macro1()
[B6:B12].Copy Destination:=[J8]
End Sub
--
Cordialement
Guy
Voici le fichier qui seras utilisé. http://cjoint.com/?kkjWuprlxy -- Cordialement Guy
"Modeste" a écrit dans le message de news:
Bonsour® Guy72 avec ferveur ;o))) vous nous disiez :
Bonjour, Dans A1, j'ai la formule ±. Dans B1, j'ai OK ou Rien. Dans B6:B12, j'ai A,B,C,D,E,F,G Dans J8, je devrais avoir la copie de B6:B12 si je vois OK en A1. Exemple : http://cjoint.com/?kkgLWiGEMJ
1- le changement de valeur en J1, n'est pas géré comme un événement déclenchant 2- le fait de clicquer sur A1 ne provoque pas l'événement car la valeur présente(formule) n'est pas changée par l'utilisateur.
seul le fait de changer de sélection peut déclencher l'événement dans ce cas :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, [A1]) Is Nothing And Target.Count = 1 Then If Trim(UCase(Target.Text)) = "OK" Then Macro1 End If End Sub
ou bien par double click Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, [A1]) Is Nothing And Target.Count = 1 Then If Trim(UCase(Target.Text)) = "OK" Then Macro1 End If End Sub
-- -- @+ ;o)))
Voici le fichier qui seras utilisé.
http://cjoint.com/?kkjWuprlxy
--
Cordialement
Guy
"Modeste" <nomail@nomail.net> a écrit dans le message de news:
esFPXiqKJHA.5692@TK2MSFTNGP04.phx.gbl...
Bonsour® Guy72 avec ferveur ;o))) vous nous disiez :
Bonjour,
Dans A1, j'ai la formule ±.
Dans B1, j'ai OK ou Rien.
Dans B6:B12, j'ai A,B,C,D,E,F,G
Dans J8, je devrais avoir la copie de B6:B12 si je vois OK en A1.
Exemple : http://cjoint.com/?kkgLWiGEMJ
1- le changement de valeur en J1, n'est pas géré comme un événement
déclenchant
2- le fait de clicquer sur A1 ne provoque pas l'événement car la valeur
présente(formule) n'est pas changée par l'utilisateur.
seul le fait de changer de sélection peut déclencher l'événement dans ce cas
:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [A1]) Is Nothing And Target.Count = 1 Then
If Trim(UCase(Target.Text)) = "OK" Then Macro1
End If
End Sub
ou bien par double click
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Not Intersect(Target, [A1]) Is Nothing And Target.Count = 1 Then
If Trim(UCase(Target.Text)) = "OK" Then Macro1
End If
End Sub
Voici le fichier qui seras utilisé. http://cjoint.com/?kkjWuprlxy -- Cordialement Guy
"Modeste" a écrit dans le message de news:
Bonsour® Guy72 avec ferveur ;o))) vous nous disiez :
Bonjour, Dans A1, j'ai la formule ±. Dans B1, j'ai OK ou Rien. Dans B6:B12, j'ai A,B,C,D,E,F,G Dans J8, je devrais avoir la copie de B6:B12 si je vois OK en A1. Exemple : http://cjoint.com/?kkgLWiGEMJ
1- le changement de valeur en J1, n'est pas géré comme un événement déclenchant 2- le fait de clicquer sur A1 ne provoque pas l'événement car la valeur présente(formule) n'est pas changée par l'utilisateur.
seul le fait de changer de sélection peut déclencher l'événement dans ce cas :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, [A1]) Is Nothing And Target.Count = 1 Then If Trim(UCase(Target.Text)) = "OK" Then Macro1 End If End Sub
ou bien par double click Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, [A1]) Is Nothing And Target.Count = 1 Then If Trim(UCase(Target.Text)) = "OK" Then Macro1 End If End Sub
-- -- @+ ;o)))
Modeste
Bonsour® Guy72 avec ferveur ;o))) vous nous disiez :
Voici le fichier qui seras utilisé. http://cjoint.com/?kkjWuprlxy
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, [AX10]) Is Nothing And Target.Count = 1 Then If Target.Text = "Gagné" Then Solution End If End Sub
;o))) si l'on compare strictement par rapport à "gagné" il n'y a pas lieu de supprimmer les espaces ni de passer en majuscule
-- -- @+ ;o)))
Bonsour® Guy72 avec ferveur ;o))) vous nous disiez :
Voici le fichier qui seras utilisé.
http://cjoint.com/?kkjWuprlxy
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [AX10]) Is Nothing And Target.Count = 1 Then
If Target.Text = "Gagné" Then Solution
End If
End Sub
;o)))
si l'on compare strictement par rapport à "gagné"
il n'y a pas lieu de supprimmer les espaces ni de passer en majuscule
Bonsour® Guy72 avec ferveur ;o))) vous nous disiez :
Voici le fichier qui seras utilisé. http://cjoint.com/?kkjWuprlxy
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, [AX10]) Is Nothing And Target.Count = 1 Then If Target.Text = "Gagné" Then Solution End If End Sub
;o))) si l'on compare strictement par rapport à "gagné" il n'y a pas lieu de supprimmer les espaces ni de passer en majuscule
-- -- @+ ;o)))
Guy72
D'accord Modeste, mais j'ai besoin de ces espaces. -- Cordialement Guy
"Modeste" a écrit dans le message de news:
Bonsour® Guy72 avec ferveur ;o))) vous nous disiez :
Voici le fichier qui seras utilisé. http://cjoint.com/?kkjWuprlxy
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, [AX10]) Is Nothing And Target.Count = 1 Then If Target.Text = "Gagné" Then Solution End If End Sub
;o))) si l'on compare strictement par rapport à "gagné" il n'y a pas lieu de supprimmer les espaces ni de passer en majuscule
-- -- @+ ;o)))
D'accord Modeste, mais j'ai besoin de ces espaces.
--
Cordialement
Guy
"Modeste" <nomail@nomail.net> a écrit dans le message de news:
ukMmuBrKJHA.920@TK2MSFTNGP05.phx.gbl...
Bonsour® Guy72 avec ferveur ;o))) vous nous disiez :
Voici le fichier qui seras utilisé.
http://cjoint.com/?kkjWuprlxy
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [AX10]) Is Nothing And Target.Count = 1 Then
If Target.Text = "Gagné" Then Solution
End If
End Sub
;o)))
si l'on compare strictement par rapport à "gagné"
il n'y a pas lieu de supprimmer les espaces ni de passer en majuscule
D'accord Modeste, mais j'ai besoin de ces espaces. -- Cordialement Guy
"Modeste" a écrit dans le message de news:
Bonsour® Guy72 avec ferveur ;o))) vous nous disiez :
Voici le fichier qui seras utilisé. http://cjoint.com/?kkjWuprlxy
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, [AX10]) Is Nothing And Target.Count = 1 Then If Target.Text = "Gagné" Then Solution End If End Sub
;o))) si l'on compare strictement par rapport à "gagné" il n'y a pas lieu de supprimmer les espaces ni de passer en majuscule
-- -- @+ ;o)))
Guy72
Salut Fredo Excuse-moi de ne pas t'avoir répondu, mais le problème est le même que les autres. En plus, je trouve bizarre, il suffit de remplacer "ok" (dans le code) par un autre texte et ça ne fonctionne plus ? -- Cordialement Guy
"Fredo P" a écrit dans le message de news: eMAh%
http://cjoint.com/?kkimN6baBM
"Guy72" a écrit dans le message de news:
Bonjour, Dans A1, j'ai la formule ±. Dans B1, j'ai OK ou Rien. Dans B6:B12, j'ai A,B,C,D,E,F,G Dans J8, je devrais avoir la copie de B6:B12 si je vois OK en A1. Exemple : http://cjoint.com/?kkgLWiGEMJ -- Cordialement Guy "Daniel.C" a écrit dans le message de news:
Bonsoir. If Not Intersect(Target, [A1]) Is Nothing And Target.Count = 1 Then Si tu entres quelque chose dans une autre cellule que A1, la condition ci-dessus ne peut être remplie. Pour que la macro fonctionne, il faut que tu entres en A1 la formule qui donne "ok". Et effectivement, dans ce cas, ça fonctionne, mais est-ce cela que tu veux ? -- Cordialement. Daniel "Guy72" a écrit dans le message de news:
Bonsoir, Avec une macro, je peux faire une copie de cellule contenant une valeur texte. Mais si dans cette cellule, c'est une formule qui fait le texte, la macro ne copie pas, pourquoi ? A1 contient une formule qui donne le mot "ok"
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [A1]) Is Nothing And Target.Count = 1 Then If Target = "ok" Then Macro1 End If End Sub
Sub Macro1() [B6:B12].Copy Destination:=[J8] End Sub -- Cordialement Guy
Salut Fredo
Excuse-moi de ne pas t'avoir répondu, mais le problème est le même que les
autres.
En plus, je trouve bizarre, il suffit de remplacer "ok" (dans le code) par
un autre texte et ça ne fonctionne plus ?
--
Cordialement
Guy
"Fredo P" <ponsinet.frederic363etdesbrouettes@orange.fr> a écrit dans le
message de news: eMAh%239pKJHA.1012@TK2MSFTNGP04.phx.gbl...
http://cjoint.com/?kkimN6baBM
"Guy72" <guy72@bonjour.tous> a écrit dans le message de news:
OGdp6IpKJHA.3080@TK2MSFTNGP06.phx.gbl...
Bonjour,
Dans A1, j'ai la formule ±.
Dans B1, j'ai OK ou Rien.
Dans B6:B12, j'ai A,B,C,D,E,F,G
Dans J8, je devrais avoir la copie de B6:B12 si je vois OK en A1.
Exemple : http://cjoint.com/?kkgLWiGEMJ
--
Cordialement
Guy
"Daniel.C" <dZZZcolardelle@free.fr> a écrit dans le message de news:
OcMAGdlKJHA.5448@TK2MSFTNGP05.phx.gbl...
Bonsoir.
If Not Intersect(Target, [A1]) Is Nothing And Target.Count = 1 Then
Si tu entres quelque chose dans une autre cellule que A1, la condition
ci-dessus ne peut être remplie.
Pour que la macro fonctionne, il faut que tu entres en A1 la formule qui
donne "ok". Et effectivement, dans ce cas, ça fonctionne, mais est-ce
cela que tu veux ?
--
Cordialement.
Daniel
"Guy72" <guy72@bonjour.tous> a écrit dans le message de news:
uCVHYHlKJHA.4452@TK2MSFTNGP05.phx.gbl...
Bonsoir,
Avec une macro, je peux faire une copie de cellule contenant une valeur
texte.
Mais si dans cette cellule, c'est une formule qui fait le texte, la
macro ne copie pas, pourquoi ?
A1 contient une formule qui donne le mot "ok"
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [A1]) Is Nothing And Target.Count = 1 Then
If Target = "ok" Then Macro1
End If
End Sub
Sub Macro1()
[B6:B12].Copy Destination:=[J8]
End Sub
--
Cordialement
Guy
Salut Fredo Excuse-moi de ne pas t'avoir répondu, mais le problème est le même que les autres. En plus, je trouve bizarre, il suffit de remplacer "ok" (dans le code) par un autre texte et ça ne fonctionne plus ? -- Cordialement Guy
"Fredo P" a écrit dans le message de news: eMAh%
http://cjoint.com/?kkimN6baBM
"Guy72" a écrit dans le message de news:
Bonjour, Dans A1, j'ai la formule ±. Dans B1, j'ai OK ou Rien. Dans B6:B12, j'ai A,B,C,D,E,F,G Dans J8, je devrais avoir la copie de B6:B12 si je vois OK en A1. Exemple : http://cjoint.com/?kkgLWiGEMJ -- Cordialement Guy "Daniel.C" a écrit dans le message de news:
Bonsoir. If Not Intersect(Target, [A1]) Is Nothing And Target.Count = 1 Then Si tu entres quelque chose dans une autre cellule que A1, la condition ci-dessus ne peut être remplie. Pour que la macro fonctionne, il faut que tu entres en A1 la formule qui donne "ok". Et effectivement, dans ce cas, ça fonctionne, mais est-ce cela que tu veux ? -- Cordialement. Daniel "Guy72" a écrit dans le message de news:
Bonsoir, Avec une macro, je peux faire une copie de cellule contenant une valeur texte. Mais si dans cette cellule, c'est une formule qui fait le texte, la macro ne copie pas, pourquoi ? A1 contient une formule qui donne le mot "ok"
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [A1]) Is Nothing And Target.Count = 1 Then If Target = "ok" Then Macro1 End If End Sub
Sub Macro1() [B6:B12].Copy Destination:=[J8] End Sub -- Cordialement Guy