Idée de modification (petit code)

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 4
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Guy72
Le #17469201
fichier joint
http://cjoint.com/?kjlW1IZvJS
--
Cordialement
Guy
"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



FFO
Le #17470361
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 !!!!
Guy72
Le #17470841
Bonjour FFO
ça me vas parfaitement.
Merci de ton aide
--
Cordialement
Guy

"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 !!!!


Guy72
Le #17472041
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"
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 !!!!


FFO
Le #17473011
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
Guy72
Le #17473431
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"
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




Guy72
Le #17474971
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"
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"
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








FFO
Le #17481271
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 !!!
Guy72
Le #17486701
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"
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 !!!


Guy72
Le #17487341
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"
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 !!!


Publicité
Poster une réponse
Anonyme