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

Copie avec formule

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

10 réponses

1 2
Avatar
Modeste
Bonsour® Guy72 avec ferveur ;o))) vous nous disiez :

If Target.Text= "ok" Then Macro1



--
--
@+
;o)))
Avatar
Guy72
Bonjour Modeste,
ça ne fonctionne pas.
Si tu écrit ok dans A1 d'accord ça fonctionne.
Mais si tu met A1 = B1 et que tu écrit ok dans B1 ça ne fonctionne plus.
--
Cordialement
Guy
"Modeste" a écrit dans le message de news:

Bonsour® Guy72 avec ferveur ;o))) vous nous disiez :

If Target.Text= "ok" Then Macro1



--
--
@+
;o)))
Avatar
Modeste
Bonsour® Guy72 avec ferveur ;o))) vous nous disiez :

ça ne fonctionne pas.
Si tu écrit ok dans A1 d'accord ça fonctionne.
Mais si tu met A1 = B1 et que tu écrit ok dans B1 ça ne fonctionne
plus.



??????

alors essaie :
If Trim(Ucase(Target.Text))= "OK" Then Macro1

--
--
@+
;o)))
Avatar
Daniel.C
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



Avatar
Guy72
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







Avatar
Guy72
Oupsss !!!!!!!
C'est pas B1 c'est J1

--
Cordialement
Guy
"Guy72" a écrit dans le message de news:

Bonjour,
Dans A1, j'ai la formule =J1.
Dans J1, 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











Avatar
Daniel.C
Bonjour.
La copie be se déclenche que si tu entres "ok" ou "=J1" en A1
Cordialement.
Daniel
"Guy72" a écrit dans le message de news:

Oupsss !!!!!!!
C'est pas B1 c'est J1

--
Cordialement
Guy
"Guy72" a écrit dans le message de news:

Bonjour,
Dans A1, j'ai la formule =J1.
Dans J1, 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















Avatar
Fredo P
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











Avatar
Guy72
Bonjour Daniel,
Je n'entre pas "ok" en A1 j'entre ok (ou autre chose) en J1.
La copie ne ce déclenche que si la formule dans A1 donne "ok".
--
Cordialement
Guy
"Daniel.C" a écrit dans le message de news:

Bonjour.
La copie be se déclenche que si tu entres "ok" ou "=J1" en A1
Cordialement.
Daniel
"Guy72" a écrit dans le message de news:

Oupsss !!!!!!!
C'est pas B1 c'est J1

--
Cordialement
Guy
"Guy72" a écrit dans le message de news:

Bonjour,
Dans A1, j'ai la formule =J1.
Dans J1, 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



















Avatar
Modeste
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)))
1 2