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

4 réponses

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















1 2