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

Idée de modification (petit code)

32 réponses
Avatar
Guy72
Bonjour à tous
Est-il possible de modifier ce code pour avoir les deux conditions suivantes
?

Actuellement ce code copie en J8 la plage AZ12:BJ12 si dans la plage
AX12:AX42 il y a le mot "Gagné".
Est-il possible de modifié ce code, de manière, à ce que cela copie en J8 la
plage AZ12:BJ12 si dans la plage AX12 il y a le mot "Perdu".

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 50 Then
If Target = "Gagné" Then
[AZ12:BJ12].Copy [J8]
End If
End If
End Sub

Merci de votre aide
--
Cordialement
Guy

10 réponses

1 2 3 4
Avatar
Guy72
fichier joint
http://cjoint.com/?kjlW1IZvJS
--
Cordialement
Guy
"Guy72" a écrit dans le message de news:
%
Bonjour à tous
Est-il possible de modifier ce code pour avoir les deux conditions
suivantes ?

Actuellement ce code copie en J8 la plage AZ12:BJ12 si dans la plage
AX12:AX42 il y a le mot "Gagné".
Est-il possible de modifié ce code, de manière, à ce que cela copie en J8
la plage AZ12:BJ12 si dans la plage AX12 il y a le mot "Perdu".

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 50 Then
If Target = "Gagné" Then
[AZ12:BJ12].Copy [J8]
End If
End If
End Sub

Merci de votre aide
--
Cordialement
Guy



Avatar
FFO
Salut Guy

J'ai du mal à croire que ton code réponde exactement à ton attente
Pour moi (essai à l'appui) lorsque je met le mot "Gagné" dans la colonne AX
de la lign 1 à la ligne 65535 je recopie systématiquement ta plage AZ12:BJ12
en J8

Effectivement le code ne conditionne que la colonne de saisie (AX) et pas
les lignes qui devraient être de 12 à 42 selon ta condition :

si dans la plage
AX12:AX42 il y a le mot "Gagné".

Je te propose ton code corrigé ainsi prenant en compte cette lacune ainsi
que ta nouvelle condition "si dans la plage AX12 il y a le mot "Perdu". ":

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 50 Then
If Target.Row > 11 And Target.Row < 43 And Target = "Gagné" Then
[AZ12:BJ12].Copy [J8]
End If
If Target.Row = 12 And Target = "Perdu" Then
[AZ12:BJ12].Copy [J8]
End If
End If
End Sub


Tu trouveras sur ce lien ton document corrigé ainsi

http://www.cijoint.fr/cjlink.php?file=cj200810/cijjTmdrRG.xls

Fais des essais et dis moi !!!!
Avatar
Guy72
Bonjour FFO
ça me vas parfaitement.
Merci de ton aide
--
Cordialement
Guy

"FFO" a écrit dans le message de news:

Salut Guy

J'ai du mal à croire que ton code réponde exactement à ton attente
Pour moi (essai à l'appui) lorsque je met le mot "Gagné" dans la colonne
AX
de la lign 1 à la ligne 65535 je recopie systématiquement ta plage
AZ12:BJ12
en J8

Effectivement le code ne conditionne que la colonne de saisie (AX) et pas
les lignes qui devraient être de 12 à 42 selon ta condition :

si dans la plage
AX12:AX42 il y a le mot "Gagné".

Je te propose ton code corrigé ainsi prenant en compte cette lacune ainsi
que ta nouvelle condition "si dans la plage AX12 il y a le mot "Perdu". ":

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 50 Then
If Target.Row > 11 And Target.Row < 43 And Target = "Gagné" Then
[AZ12:BJ12].Copy [J8]
End If
If Target.Row = 12 And Target = "Perdu" Then
[AZ12:BJ12].Copy [J8]
End If
End If
End Sub


Tu trouveras sur ce lien ton document corrigé ainsi

http://www.cijoint.fr/cjlink.php?file=cj200810/cijjTmdrRG.xls

Fais des essais et dis moi !!!!


Avatar
Guy72
Par contre quand je l'adapte dans mon fichier ça ne fonctionne pas, pourquoi
?
Actuellement j'ai.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 50 Then
If Target = "Gagné" Then
[AZ12:BJ12].Copy [J8]
End If
End If
End Sub

et si je met ton code, ça ne vas pas, pouquoi ?

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 50 Then
If Target.Row > 11 And Target.Row < 43 And Target = "Gagné" Then
[AZ12:BJ12].Copy [J8]
End If
If Target.Row = 12 And Target = "Perdu" Then
[AZ12:BJ12].Copy [J8]
End If
End If
End Sub
--
Cordialement
Guy

"FFO" a écrit dans le message de news:

Salut Guy

J'ai du mal à croire que ton code réponde exactement à ton attente
Pour moi (essai à l'appui) lorsque je met le mot "Gagné" dans la colonne
AX
de la lign 1 à la ligne 65535 je recopie systématiquement ta plage
AZ12:BJ12
en J8

Effectivement le code ne conditionne que la colonne de saisie (AX) et pas
les lignes qui devraient être de 12 à 42 selon ta condition :

si dans la plage
AX12:AX42 il y a le mot "Gagné".

Je te propose ton code corrigé ainsi prenant en compte cette lacune ainsi
que ta nouvelle condition "si dans la plage AX12 il y a le mot "Perdu". ":

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 50 Then
If Target.Row > 11 And Target.Row < 43 And Target = "Gagné" Then
[AZ12:BJ12].Copy [J8]
End If
If Target.Row = 12 And Target = "Perdu" Then
[AZ12:BJ12].Copy [J8]
End If
End If
End Sub


Tu trouveras sur ce lien ton document corrigé ainsi

http://www.cijoint.fr/cjlink.php?file=cj200810/cijjTmdrRG.xls

Fais des essais et dis moi !!!!


Avatar
FFO
Rebonjour à toi

As tu essayé le fichier que je t'ai transmis ????

Il doit fonctionner

Si c'est le cas transmets moi le tien afin que je l'essaie
Avatar
Guy72
Oui j'ai essayé ton fichier, ça fonctionne, le mien aussi, je me suis
embrouillé dans les N° de cellule en le transposant sur mon fichier.
Encore merci
A+
--
Cordialement
Guy

"FFO" a écrit dans le message de news:

Rebonjour à toi

As tu essayé le fichier que je t'ai transmis ????

Il doit fonctionner

Si c'est le cas transmets moi le tien afin que je l'essaie




Avatar
Guy72
Bonsoir FFO
Excuse-moi.
J'ai quand même un problème, il fallait sans doute que je précise que dans
l'exemple il suffit d'inscrire "Gagné" et sa fonctionne, mais dans la
réalité, c'est une formule qui me met "Gagné", et là ça ne fonctionne pas,
je ne pensais pas que cela pouvait changer quelque chose.
http://cjoint.com/?kjtO0rq5ri
--
Cordialement
Guy

"Guy72" a écrit dans le message de news:

Oui j'ai essayé ton fichier, ça fonctionne, le mien aussi, je me suis
embrouillé dans les N° de cellule en le transposant sur mon fichier.
Encore merci
A+
--
Cordialement
Guy

"FFO" a écrit dans le message de news:

Rebonjour à toi

As tu essayé le fichier que je t'ai transmis ????

Il doit fonctionner

Si c'est le cas transmets moi le tien afin que je l'essaie








Avatar
FFO
Rebonjour Guy

Effectivement le code Evennementiel utilisé se base sur l'intervention de
l'utilisateur dans la cellule et non pas sur le résultat d'une formule

Je te propose donc dans cet optique un nouveau code :

Private Sub Worksheet_Calculate()
Range("AX11").Activate
On Error Resume Next
Columns("AX:AX").Find(What:="Gagné", After:=Range("AX11"), LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
If ActiveCell.Address <> Range("AX11").Address Then
[AZ12:BJ12].Copy [J8]
End If
Range("AX11").Activate
Columns("AX:AX").Find(What:="Perdu", After:=Range("AX11"), LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
If ActiveCell.Address = Range("AX12").Address Then
[AZ12:BJ12].Copy [J8]
End If
End Sub

Celà devrait mieux te convenir

Tu trouveras sur ce lien ton fichier adapté dans ce sens

http://www.cijoint.fr/cjlink.php?file=cj200810/cijClJhQ48.xls

Donnes moi des nouvelles !!!
Avatar
Guy72
Bonjour FFO
Merci de ta réponse
Apparemment ça à l'air de fonctionner, il faut que je regarde quand je vais
ajouter ça dans mon fichier, je te tient au courant.
--
Cordialement
Guy

"FFO" a écrit dans le message de news:

Rebonjour Guy

Effectivement le code Evennementiel utilisé se base sur l'intervention de
l'utilisateur dans la cellule et non pas sur le résultat d'une formule

Je te propose donc dans cet optique un nouveau code :

Private Sub Worksheet_Calculate()
Range("AX11").Activate
On Error Resume Next
Columns("AX:AX").Find(What:="Gagné", After:=Range("AX11"),
LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
If ActiveCell.Address <> Range("AX11").Address Then
[AZ12:BJ12].Copy [J8]
End If
Range("AX11").Activate
Columns("AX:AX").Find(What:="Perdu", After:=Range("AX11"),
LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
If ActiveCell.Address = Range("AX12").Address Then
[AZ12:BJ12].Copy [J8]
End If
End Sub

Celà devrait mieux te convenir

Tu trouveras sur ce lien ton fichier adapté dans ce sens

http://www.cijoint.fr/cjlink.php?file=cj200810/cijClJhQ48.xls

Donnes moi des nouvelles !!!


Avatar
Guy72
Re Bonjour FFO
J'ai essayé, dans le fichier que tu as vu, pas de problème ça fonctionne.
J'ai même supprimer le code pour "Perdu" finalement il n'est pas utile.
Parc contre, je l'ai mis dans mon fichier, et comme toujours, ....et bien,
ça le perturbe et ça ne fonctionne plus, dommage...snif.
Je te joint mon fichier : http://cjoint.com/?kktiwVr3ah
--
Cordialement
Guy

"FFO" a écrit dans le message de news:

Rebonjour Guy

Effectivement le code Evennementiel utilisé se base sur l'intervention de
l'utilisateur dans la cellule et non pas sur le résultat d'une formule

Je te propose donc dans cet optique un nouveau code :

Private Sub Worksheet_Calculate()
Range("AX11").Activate
On Error Resume Next
Columns("AX:AX").Find(What:="Gagné", After:=Range("AX11"),
LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
If ActiveCell.Address <> Range("AX11").Address Then
[AZ12:BJ12].Copy [J8]
End If
Range("AX11").Activate
Columns("AX:AX").Find(What:="Perdu", After:=Range("AX11"),
LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
If ActiveCell.Address = Range("AX12").Address Then
[AZ12:BJ12].Copy [J8]
End If
End Sub

Celà devrait mieux te convenir

Tu trouveras sur ce lien ton fichier adapté dans ce sens

http://www.cijoint.fr/cjlink.php?file=cj200810/cijClJhQ48.xls

Donnes moi des nouvelles !!!


1 2 3 4