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

macro de pro :-) pour rechercher un mot déterminé dans une autre colonne que celle ou l'on est

12 réponses
Avatar
Help Me
Merci à toi.
C'est GENIAL !!!
Je viens de le tester. C'est impeccable...

Par contre effectivement le mot est demandé au lancement du doc.
N'y aurait-t-il pas un moyen pour que je puisse avec l'envoi d'une autre
macro lui indiquer quel mot choisir...car en travaillant dans ce même doc,
je peux lui demander plein de fois de changer de mot...Cela m'éviterait soit
de relancer le doc pour cela, soit de modifier le code vba en cours de
travail ?
Merci de ton aide !!!!

Michel
> "papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:
> uQJT5APtEHA.2700@TK2MSFTNGP10.phx.gbl...
>> Bonjour
>> Voici une façon de procéder (testé rapidement) :
>> 1°) Dans un module standard :
>> Public MotAChercher As String
>> Sub ChercheLeMot()
>> Dim LigDepart As Long, TrouveLe As Range
>> LigDepart = ActiveCell.Row
>> With ActiveSheet.Range("D" & LigDepart & ":D" &
>> Range("D65536").End(xlUp).Row)
>> On Error GoTo CaVaPas
>> Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
>> searchorder:=xlByRows)
>> If Not TrouveLe Is Nothing Then
>> Cells(TrouveLe.Row, "G").Select
>> Else: MsgBox "Mot non trouvé", vbInformation
>> End If
>> End With
>> Exit Sub
>> CaVaPas:
>> MsgBox "Le mot à trouver est vide", vbExclamation, "Pas de recherche
>> possible"
>> End Sub
>> 2°) Dans le code de Thisworkbook
>> Private Sub Workbook_Open()
>> MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher", "Mot
>> ?")
>> End Sub
>>
>> A l'ouverture du classeur le mot à chercher est demandé.
>> Il sera utilisé par la suite dans la macro "chercheLeMot"
>>
>> Cordialement
>> Pascal
>>
>>
>>
>>
>> "Help Me" <help@me.com> a écrit dans le message de news:
>> 4173807c$0$21085$79c14f64@nan-newsreader-07.noos.net...
>>> Bonjour à tous.
>>>
>>> Quelqu'un pourrait m'aider pour faire la chose suivante :
>>>
>>> Je suis sur une cellule (variable) de la colonne G.
>>> J'aimerai qu'il cherche dans la colonne D (a partir de la ligne ou je
>>> suis) le mot suivant : "Hardsoot" et qu'il se replace sur la cellule de
>>> la colonne G de la ligne trouvée...
>>>
>>> Exemple :
>>>
>>> Je suis sur G12.
>>> Apres avoir actionné la macro, il trouve le "Hardsoot" suivant en D24.
>>> Il
>>> se place alors en G24. (rappel : il ne faut pas qu'il m'indique ceux
>>> dont
>>> le placement est avant ma ligne ...soit dans l'exemple D1 à D11)
>>>
>>> ***********************
>>> Voila pour l'exemple.
>>> Dans la pratique il serait génial qu'il me demande, lors de
>>> l'utilisation
>>> d'une autre macro quel mot rechercher...
>>>
>>> Idéalement, sauriez vous me dire comment découper la macro en 2 étapes
>>> différentes :
>>> PHASE 1 : Il me demande quel mot rechercher dans la colonne D. et le
>>> stocke pour toutes les fois ou je lui demanderai la phase 2.
>>> PHASE 2 : Macro de recherche indiquée ci dessus...
>>>
>>> Merci à vous tous de votre aide...
>>>
>>> A tres bientôt
>>>
>>> Michel
>>>
>>>
>>
>>
>
>

10 réponses

1 2
Avatar
papou
Re
Tant mieux ;-)
Donc pour ce que tu demandes, tu places ceci dans un module standard (tu
oublies le code précédent) :
Public MotAChercher As String
Sub ChercheLeMot()
If MotAChercher = "" Then _
MsgBox "Le mot à chercher n'a pas été renseigné" _
, vbExclamation, "Pas possible de continuer": Exit Sub
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues, searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
End Sub
Sub DefinirLeMot()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher", "Mot ?")
End Sub


"Help Me" a écrit dans le message de news:
41738b63$0$21082$

Merci à toi.
C'est GENIAL !!!
Je viens de le tester. C'est impeccable...

Par contre effectivement le mot est demandé au lancement du doc.
N'y aurait-t-il pas un moyen pour que je puisse avec l'envoi d'une autre
macro lui indiquer quel mot choisir...car en travaillant dans ce même doc,
je peux lui demander plein de fois de changer de mot...Cela m'éviterait
soit
de relancer le doc pour cela, soit de modifier le code vba en cours de
travail ?
Merci de ton aide !!!!

Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Bonjour
Voici une façon de procéder (testé rapidement) :
1°) Dans un module standard :
Public MotAChercher As String
Sub ChercheLeMot()
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
On Error GoTo CaVaPas
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
CaVaPas:
MsgBox "Le mot à trouver est vide", vbExclamation, "Pas de recherche
possible"
End Sub
2°) Dans le code de Thisworkbook
Private Sub Workbook_Open()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher", "Mot
?")
End Sub

A l'ouverture du classeur le mot à chercher est demandé.
Il sera utilisé par la suite dans la macro "chercheLeMot"

Cordialement
Pascal




"Help Me" a écrit dans le message de news:
4173807c$0$21085$
Bonjour à tous.

Quelqu'un pourrait m'aider pour faire la chose suivante :

Je suis sur une cellule (variable) de la colonne G.
J'aimerai qu'il cherche dans la colonne D (a partir de la ligne ou je
suis) le mot suivant : "Hardsoot" et qu'il se replace sur la cellule de
la colonne G de la ligne trouvée...

Exemple :

Je suis sur G12.
Apres avoir actionné la macro, il trouve le "Hardsoot" suivant en D24.
Il
se place alors en G24. (rappel : il ne faut pas qu'il m'indique ceux
dont
le placement est avant ma ligne ...soit dans l'exemple D1 à D11)

***********************
Voila pour l'exemple.
Dans la pratique il serait génial qu'il me demande, lors de
l'utilisation
d'une autre macro quel mot rechercher...

Idéalement, sauriez vous me dire comment découper la macro en 2 étapes
différentes :
PHASE 1 : Il me demande quel mot rechercher dans la colonne D. et le
stocke pour toutes les fois ou je lui demanderai la phase 2.
PHASE 2 : Macro de recherche indiquée ci dessus...

Merci à vous tous de votre aide...

A tres bientôt

Michel
















Avatar
Help Me
Merci

Mais cela ne marche pas...
Il dit que le mot n'a pas été défini...
J'ai donc placé les 2 macros dans les modules, lancé définirlemot() puis
cherchelemot()...

Apparemment, il "oublie" la valeur définie...
????


Merci
Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Re
Tant mieux ;-)
Donc pour ce que tu demandes, tu places ceci dans un module standard (tu
oublies le code précédent) :
Public MotAChercher As String
Sub ChercheLeMot()
If MotAChercher = "" Then _
MsgBox "Le mot à chercher n'a pas été renseigné" _
, vbExclamation, "Pas possible de continuer": Exit Sub
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
End Sub
Sub DefinirLeMot()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher", "Mot
?")
End Sub


"Help Me" a écrit dans le message de news:
41738b63$0$21082$

Merci à toi.
C'est GENIAL !!!
Je viens de le tester. C'est impeccable...

Par contre effectivement le mot est demandé au lancement du doc.
N'y aurait-t-il pas un moyen pour que je puisse avec l'envoi d'une autre
macro lui indiquer quel mot choisir...car en travaillant dans ce même
doc,
je peux lui demander plein de fois de changer de mot...Cela m'éviterait
soit
de relancer le doc pour cela, soit de modifier le code vba en cours de
travail ?
Merci de ton aide !!!!

Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Bonjour
Voici une façon de procéder (testé rapidement) :
1°) Dans un module standard :
Public MotAChercher As String
Sub ChercheLeMot()
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
On Error GoTo CaVaPas
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
CaVaPas:
MsgBox "Le mot à trouver est vide", vbExclamation, "Pas de recherche
possible"
End Sub
2°) Dans le code de Thisworkbook
Private Sub Workbook_Open()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher", "Mot
?")
End Sub

A l'ouverture du classeur le mot à chercher est demandé.
Il sera utilisé par la suite dans la macro "chercheLeMot"

Cordialement
Pascal




"Help Me" a écrit dans le message de news:
4173807c$0$21085$
Bonjour à tous.

Quelqu'un pourrait m'aider pour faire la chose suivante :

Je suis sur une cellule (variable) de la colonne G.
J'aimerai qu'il cherche dans la colonne D (a partir de la ligne ou je
suis) le mot suivant : "Hardsoot" et qu'il se replace sur la cellule
de
la colonne G de la ligne trouvée...

Exemple :

Je suis sur G12.
Apres avoir actionné la macro, il trouve le "Hardsoot" suivant en D24.
Il
se place alors en G24. (rappel : il ne faut pas qu'il m'indique ceux
dont
le placement est avant ma ligne ...soit dans l'exemple D1 à D11)

***********************
Voila pour l'exemple.
Dans la pratique il serait génial qu'il me demande, lors de
l'utilisation
d'une autre macro quel mot rechercher...

Idéalement, sauriez vous me dire comment découper la macro en 2 étapes
différentes :
PHASE 1 : Il me demande quel mot rechercher dans la colonne D. et le
stocke pour toutes les fois ou je lui demanderai la phase 2.
PHASE 2 : Macro de recherche indiquée ci dessus...

Merci à vous tous de votre aide...

A tres bientôt

Michel




















Avatar
jps
probablement parce que papou a tutoyé VBA et VBA, il aime pas ça...
jps

"Help Me" a écrit dans le message de
news:41739019$0$28238$
Merci

Mais cela ne marche pas...

"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Re
Tant mieux ;-)
Donc pour ce que tu demandes, tu places ceci dans un module standard (tu
oublies le code précédent) :
Public MotAChercher As String
Sub ChercheLeMot()
If MotAChercher = "" Then _
MsgBox "Le mot à chercher n'a pas été renseigné" _
, vbExclamation, "Pas possible de continuer": Exit Sub
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
End Sub
Sub DefinirLeMot()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher", "Mot
?")
End Sub


"Help Me" a écrit dans le message de news:
41738b63$0$21082$

Merci à toi.
C'est GENIAL !!!
Je viens de le tester. C'est impeccable...

Par contre effectivement le mot est demandé au lancement du doc.
N'y aurait-t-il pas un moyen pour que je puisse avec l'envoi d'une
autre



macro lui indiquer quel mot choisir...car en travaillant dans ce même
doc,
je peux lui demander plein de fois de changer de mot...Cela m'éviterait
soit
de relancer le doc pour cela, soit de modifier le code vba en cours de
travail ?
Merci de ton aide !!!!

Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Bonjour
Voici une façon de procéder (testé rapidement) :
1°) Dans un module standard :
Public MotAChercher As String
Sub ChercheLeMot()
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
On Error GoTo CaVaPas
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
CaVaPas:
MsgBox "Le mot à trouver est vide", vbExclamation, "Pas de recherche
possible"
End Sub
2°) Dans le code de Thisworkbook
Private Sub Workbook_Open()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher",
"Mot





?")
End Sub

A l'ouverture du classeur le mot à chercher est demandé.
Il sera utilisé par la suite dans la macro "chercheLeMot"

Cordialement
Pascal




"Help Me" a écrit dans le message de news:
4173807c$0$21085$
Bonjour à tous.

Quelqu'un pourrait m'aider pour faire la chose suivante :

Je suis sur une cellule (variable) de la colonne G.
J'aimerai qu'il cherche dans la colonne D (a partir de la ligne ou
je






suis) le mot suivant : "Hardsoot" et qu'il se replace sur la cellule
de
la colonne G de la ligne trouvée...

Exemple :

Je suis sur G12.
Apres avoir actionné la macro, il trouve le "Hardsoot" suivant en
D24.






Il
se place alors en G24. (rappel : il ne faut pas qu'il m'indique ceux
dont
le placement est avant ma ligne ...soit dans l'exemple D1 à D11)

***********************
Voila pour l'exemple.
Dans la pratique il serait génial qu'il me demande, lors de
l'utilisation
d'une autre macro quel mot rechercher...

Idéalement, sauriez vous me dire comment découper la macro en 2
étapes






différentes :
PHASE 1 : Il me demande quel mot rechercher dans la colonne D. et le
stocke pour toutes les fois ou je lui demanderai la phase 2.
PHASE 2 : Macro de recherche indiquée ci dessus...

Merci à vous tous de votre aide...

A tres bientôt

Michel
























Avatar
papou
Re
Ajoute un Public davant chacune des Sub :
Public MotAChercher As String
Public Sub ChercheLeMot()
If MotAChercher = "" Then _
MsgBox "Le mot à chercher n'a pas été renseigné" _
, vbExclamation, "Pas possible": Exit Sub
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues, searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
End Sub
Public Sub DefinirLeMot()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher", "Mot ?")
End Sub
Cordialement
Pascal

"Help Me" a écrit dans le message de news:
41739019$0$28238$
Merci

Mais cela ne marche pas...
Il dit que le mot n'a pas été défini...
J'ai donc placé les 2 macros dans les modules, lancé définirlemot() puis
cherchelemot()...

Apparemment, il "oublie" la valeur définie...
????


Merci
Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Re
Tant mieux ;-)
Donc pour ce que tu demandes, tu places ceci dans un module standard (tu
oublies le code précédent) :
Public MotAChercher As String
Sub ChercheLeMot()
If MotAChercher = "" Then _
MsgBox "Le mot à chercher n'a pas été renseigné" _
, vbExclamation, "Pas possible de continuer": Exit Sub
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
End Sub
Sub DefinirLeMot()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher", "Mot
?")
End Sub


"Help Me" a écrit dans le message de news:
41738b63$0$21082$

Merci à toi.
C'est GENIAL !!!
Je viens de le tester. C'est impeccable...

Par contre effectivement le mot est demandé au lancement du doc.
N'y aurait-t-il pas un moyen pour que je puisse avec l'envoi d'une autre
macro lui indiquer quel mot choisir...car en travaillant dans ce même
doc,
je peux lui demander plein de fois de changer de mot...Cela m'éviterait
soit
de relancer le doc pour cela, soit de modifier le code vba en cours de
travail ?
Merci de ton aide !!!!

Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Bonjour
Voici une façon de procéder (testé rapidement) :
1°) Dans un module standard :
Public MotAChercher As String
Sub ChercheLeMot()
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
On Error GoTo CaVaPas
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
CaVaPas:
MsgBox "Le mot à trouver est vide", vbExclamation, "Pas de recherche
possible"
End Sub
2°) Dans le code de Thisworkbook
Private Sub Workbook_Open()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher",
"Mot
?")
End Sub

A l'ouverture du classeur le mot à chercher est demandé.
Il sera utilisé par la suite dans la macro "chercheLeMot"

Cordialement
Pascal




"Help Me" a écrit dans le message de news:
4173807c$0$21085$
Bonjour à tous.

Quelqu'un pourrait m'aider pour faire la chose suivante :

Je suis sur une cellule (variable) de la colonne G.
J'aimerai qu'il cherche dans la colonne D (a partir de la ligne ou je
suis) le mot suivant : "Hardsoot" et qu'il se replace sur la cellule
de
la colonne G de la ligne trouvée...

Exemple :

Je suis sur G12.
Apres avoir actionné la macro, il trouve le "Hardsoot" suivant en
D24. Il
se place alors en G24. (rappel : il ne faut pas qu'il m'indique ceux
dont
le placement est avant ma ligne ...soit dans l'exemple D1 à D11)

***********************
Voila pour l'exemple.
Dans la pratique il serait génial qu'il me demande, lors de
l'utilisation
d'une autre macro quel mot rechercher...

Idéalement, sauriez vous me dire comment découper la macro en 2
étapes
différentes :
PHASE 1 : Il me demande quel mot rechercher dans la colonne D. et le
stocke pour toutes les fois ou je lui demanderai la phase 2.
PHASE 2 : Macro de recherche indiquée ci dessus...

Merci à vous tous de votre aide...

A tres bientôt

Michel
























Avatar
Help Me
non plus...désolé...

tu as une autre idée ? :-)

Merci
Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:
OK%
Re
Ajoute un Public davant chacune des Sub :
Public MotAChercher As String
Public Sub ChercheLeMot()
If MotAChercher = "" Then _
MsgBox "Le mot à chercher n'a pas été renseigné" _
, vbExclamation, "Pas possible": Exit Sub
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
End Sub
Public Sub DefinirLeMot()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher", "Mot
?")
End Sub
Cordialement
Pascal

"Help Me" a écrit dans le message de news:
41739019$0$28238$
Merci

Mais cela ne marche pas...
Il dit que le mot n'a pas été défini...
J'ai donc placé les 2 macros dans les modules, lancé définirlemot() puis
cherchelemot()...

Apparemment, il "oublie" la valeur définie...
????


Merci
Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Re
Tant mieux ;-)
Donc pour ce que tu demandes, tu places ceci dans un module standard (tu
oublies le code précédent) :
Public MotAChercher As String
Sub ChercheLeMot()
If MotAChercher = "" Then _
MsgBox "Le mot à chercher n'a pas été renseigné" _
, vbExclamation, "Pas possible de continuer": Exit Sub
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
End Sub
Sub DefinirLeMot()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher", "Mot
?")
End Sub


"Help Me" a écrit dans le message de news:
41738b63$0$21082$

Merci à toi.
C'est GENIAL !!!
Je viens de le tester. C'est impeccable...

Par contre effectivement le mot est demandé au lancement du doc.
N'y aurait-t-il pas un moyen pour que je puisse avec l'envoi d'une
autre
macro lui indiquer quel mot choisir...car en travaillant dans ce même
doc,
je peux lui demander plein de fois de changer de mot...Cela m'éviterait
soit
de relancer le doc pour cela, soit de modifier le code vba en cours de
travail ?
Merci de ton aide !!!!

Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Bonjour
Voici une façon de procéder (testé rapidement) :
1°) Dans un module standard :
Public MotAChercher As String
Sub ChercheLeMot()
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
On Error GoTo CaVaPas
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
CaVaPas:
MsgBox "Le mot à trouver est vide", vbExclamation, "Pas de recherche
possible"
End Sub
2°) Dans le code de Thisworkbook
Private Sub Workbook_Open()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher",
"Mot
?")
End Sub

A l'ouverture du classeur le mot à chercher est demandé.
Il sera utilisé par la suite dans la macro "chercheLeMot"

Cordialement
Pascal




"Help Me" a écrit dans le message de news:
4173807c$0$21085$
Bonjour à tous.

Quelqu'un pourrait m'aider pour faire la chose suivante :

Je suis sur une cellule (variable) de la colonne G.
J'aimerai qu'il cherche dans la colonne D (a partir de la ligne ou
je
suis) le mot suivant : "Hardsoot" et qu'il se replace sur la cellule
de
la colonne G de la ligne trouvée...

Exemple :

Je suis sur G12.
Apres avoir actionné la macro, il trouve le "Hardsoot" suivant en
D24. Il
se place alors en G24. (rappel : il ne faut pas qu'il m'indique ceux
dont
le placement est avant ma ligne ...soit dans l'exemple D1 à D11)

***********************
Voila pour l'exemple.
Dans la pratique il serait génial qu'il me demande, lors de
l'utilisation
d'une autre macro quel mot rechercher...

Idéalement, sauriez vous me dire comment découper la macro en 2
étapes
différentes :
PHASE 1 : Il me demande quel mot rechercher dans la colonne D. et le
stocke pour toutes les fois ou je lui demanderai la phase 2.
PHASE 2 : Macro de recherche indiquée ci dessus...

Merci à vous tous de votre aide...

A tres bientôt

Michel




























Avatar
poypoy
Bonjour,

As tu bien mis les 2 codes dans le même module et non dans 2 modules
diférents ?

Cordialement
Benjamin


non plus...désolé...

tu as une autre idée ? :-)

Merci
Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:
OK%
Re
Ajoute un Public davant chacune des Sub :
Public MotAChercher As String
Public Sub ChercheLeMot()
If MotAChercher = "" Then _
MsgBox "Le mot à chercher n'a pas été renseigné" _
, vbExclamation, "Pas possible": Exit Sub
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
End Sub
Public Sub DefinirLeMot()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher", "Mot
?")
End Sub
Cordialement
Pascal

"Help Me" a écrit dans le message de news:
41739019$0$28238$
Merci

Mais cela ne marche pas...
Il dit que le mot n'a pas été défini...
J'ai donc placé les 2 macros dans les modules, lancé définirlemot() puis
cherchelemot()...

Apparemment, il "oublie" la valeur définie...
????


Merci
Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Re
Tant mieux ;-)
Donc pour ce que tu demandes, tu places ceci dans un module standard (tu
oublies le code précédent) :
Public MotAChercher As String
Sub ChercheLeMot()
If MotAChercher = "" Then _
MsgBox "Le mot à chercher n'a pas été renseigné" _
, vbExclamation, "Pas possible de continuer": Exit Sub
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
End Sub
Sub DefinirLeMot()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher", "Mot
?")
End Sub


"Help Me" a écrit dans le message de news:
41738b63$0$21082$

Merci à toi.
C'est GENIAL !!!
Je viens de le tester. C'est impeccable...

Par contre effectivement le mot est demandé au lancement du doc.
N'y aurait-t-il pas un moyen pour que je puisse avec l'envoi d'une
autre
macro lui indiquer quel mot choisir...car en travaillant dans ce même
doc,
je peux lui demander plein de fois de changer de mot...Cela m'éviterait
soit
de relancer le doc pour cela, soit de modifier le code vba en cours de
travail ?
Merci de ton aide !!!!

Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Bonjour
Voici une façon de procéder (testé rapidement) :
1°) Dans un module standard :
Public MotAChercher As String
Sub ChercheLeMot()
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
On Error GoTo CaVaPas
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
CaVaPas:
MsgBox "Le mot à trouver est vide", vbExclamation, "Pas de recherche
possible"
End Sub
2°) Dans le code de Thisworkbook
Private Sub Workbook_Open()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher",
"Mot
?")
End Sub

A l'ouverture du classeur le mot à chercher est demandé.
Il sera utilisé par la suite dans la macro "chercheLeMot"

Cordialement
Pascal




"Help Me" a écrit dans le message de news:
4173807c$0$21085$
Bonjour à tous.

Quelqu'un pourrait m'aider pour faire la chose suivante :

Je suis sur une cellule (variable) de la colonne G.
J'aimerai qu'il cherche dans la colonne D (a partir de la ligne ou
je
suis) le mot suivant : "Hardsoot" et qu'il se replace sur la cellule
de
la colonne G de la ligne trouvée...

Exemple :

Je suis sur G12.
Apres avoir actionné la macro, il trouve le "Hardsoot" suivant en
D24. Il
se place alors en G24. (rappel : il ne faut pas qu'il m'indique ceux
dont
le placement est avant ma ligne ...soit dans l'exemple D1 à D11)

***********************
Voila pour l'exemple.
Dans la pratique il serait génial qu'il me demande, lors de
l'utilisation
d'une autre macro quel mot rechercher...

Idéalement, sauriez vous me dire comment découper la macro en 2
étapes
différentes :
PHASE 1 : Il me demande quel mot rechercher dans la colonne D. et le
stocke pour toutes les fois ou je lui demanderai la phase 2.
PHASE 2 : Macro de recherche indiquée ci dessus...

Merci à vous tous de votre aide...

A tres bientôt

Michel

































Avatar
Help Me
Oui, tout le monde est au même endroit.

Michel
"poypoy" a écrit dans le message de news:

Bonjour,

As tu bien mis les 2 codes dans le même module et non dans 2 modules
diférents ?

Cordialement
Benjamin


non plus...désolé...

tu as une autre idée ? :-)

Merci
Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:
OK%
Re
Ajoute un Public davant chacune des Sub :
Public MotAChercher As String
Public Sub ChercheLeMot()
If MotAChercher = "" Then _
MsgBox "Le mot à chercher n'a pas été renseigné" _
, vbExclamation, "Pas possible": Exit Sub
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
End Sub
Public Sub DefinirLeMot()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher", "Mot
?")
End Sub
Cordialement
Pascal

"Help Me" a écrit dans le message de news:
41739019$0$28238$
Merci

Mais cela ne marche pas...
Il dit que le mot n'a pas été défini...
J'ai donc placé les 2 macros dans les modules, lancé définirlemot()
puis
cherchelemot()...

Apparemment, il "oublie" la valeur définie...
????


Merci
Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Re
Tant mieux ;-)
Donc pour ce que tu demandes, tu places ceci dans un module standard
(tu
oublies le code précédent) :
Public MotAChercher As String
Sub ChercheLeMot()
If MotAChercher = "" Then _
MsgBox "Le mot à chercher n'a pas été renseigné" _
, vbExclamation, "Pas possible de continuer": Exit Sub
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
End Sub
Sub DefinirLeMot()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher",
"Mot
?")
End Sub


"Help Me" a écrit dans le message de news:
41738b63$0$21082$

Merci à toi.
C'est GENIAL !!!
Je viens de le tester. C'est impeccable...

Par contre effectivement le mot est demandé au lancement du doc.
N'y aurait-t-il pas un moyen pour que je puisse avec l'envoi d'une
autre
macro lui indiquer quel mot choisir...car en travaillant dans ce
même
doc,
je peux lui demander plein de fois de changer de mot...Cela
m'éviterait
soit
de relancer le doc pour cela, soit de modifier le code vba en cours
de
travail ?
Merci de ton aide !!!!

Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de
news:

Bonjour
Voici une façon de procéder (testé rapidement) :
1°) Dans un module standard :
Public MotAChercher As String
Sub ChercheLeMot()
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
On Error GoTo CaVaPas
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
CaVaPas:
MsgBox "Le mot à trouver est vide", vbExclamation, "Pas de
recherche
possible"
End Sub
2°) Dans le code de Thisworkbook
Private Sub Workbook_Open()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher",
"Mot
?")
End Sub

A l'ouverture du classeur le mot à chercher est demandé.
Il sera utilisé par la suite dans la macro "chercheLeMot"

Cordialement
Pascal




"Help Me" a écrit dans le message de news:
4173807c$0$21085$
Bonjour à tous.

Quelqu'un pourrait m'aider pour faire la chose suivante :

Je suis sur une cellule (variable) de la colonne G.
J'aimerai qu'il cherche dans la colonne D (a partir de la ligne
ou
je
suis) le mot suivant : "Hardsoot" et qu'il se replace sur la
cellule
de
la colonne G de la ligne trouvée...

Exemple :

Je suis sur G12.
Apres avoir actionné la macro, il trouve le "Hardsoot" suivant en
D24. Il
se place alors en G24. (rappel : il ne faut pas qu'il m'indique
ceux
dont
le placement est avant ma ligne ...soit dans l'exemple D1 à D11)

***********************
Voila pour l'exemple.
Dans la pratique il serait génial qu'il me demande, lors de
l'utilisation
d'une autre macro quel mot rechercher...

Idéalement, sauriez vous me dire comment découper la macro en 2
étapes
différentes :
PHASE 1 : Il me demande quel mot rechercher dans la colonne D. et
le
stocke pour toutes les fois ou je lui demanderai la phase 2.
PHASE 2 : Macro de recherche indiquée ci dessus...

Merci à vous tous de votre aide...

A tres bientôt

Michel



































Avatar
poypoy
Rebonjour,

Alors je repasse la main à papou parceque selon moi cela devrait marcher et
donc si cela ne marche pas, ca dépasse mes compétences :-)
Vas-y papou !!

cordialement
Benjamin


Oui, tout le monde est au même endroit.

Michel
"poypoy" a écrit dans le message de news:

Bonjour,

As tu bien mis les 2 codes dans le même module et non dans 2 modules
diférents ?

Cordialement
Benjamin


non plus...désolé...

tu as une autre idée ? :-)

Merci
Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:
OK%
Re
Ajoute un Public davant chacune des Sub :
Public MotAChercher As String
Public Sub ChercheLeMot()
If MotAChercher = "" Then _
MsgBox "Le mot à chercher n'a pas été renseigné" _
, vbExclamation, "Pas possible": Exit Sub
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
End Sub
Public Sub DefinirLeMot()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher", "Mot
?")
End Sub
Cordialement
Pascal

"Help Me" a écrit dans le message de news:
41739019$0$28238$
Merci

Mais cela ne marche pas...
Il dit que le mot n'a pas été défini...
J'ai donc placé les 2 macros dans les modules, lancé définirlemot()
puis
cherchelemot()...

Apparemment, il "oublie" la valeur définie...
????


Merci
Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Re
Tant mieux ;-)
Donc pour ce que tu demandes, tu places ceci dans un module standard
(tu
oublies le code précédent) :
Public MotAChercher As String
Sub ChercheLeMot()
If MotAChercher = "" Then _
MsgBox "Le mot à chercher n'a pas été renseigné" _
, vbExclamation, "Pas possible de continuer": Exit Sub
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
End Sub
Sub DefinirLeMot()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher",
"Mot
?")
End Sub


"Help Me" a écrit dans le message de news:
41738b63$0$21082$

Merci à toi.
C'est GENIAL !!!
Je viens de le tester. C'est impeccable...

Par contre effectivement le mot est demandé au lancement du doc.
N'y aurait-t-il pas un moyen pour que je puisse avec l'envoi d'une
autre
macro lui indiquer quel mot choisir...car en travaillant dans ce
même
doc,
je peux lui demander plein de fois de changer de mot...Cela
m'éviterait
soit
de relancer le doc pour cela, soit de modifier le code vba en cours
de
travail ?
Merci de ton aide !!!!

Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de
news:

Bonjour
Voici une façon de procéder (testé rapidement) :
1°) Dans un module standard :
Public MotAChercher As String
Sub ChercheLeMot()
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
On Error GoTo CaVaPas
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
CaVaPas:
MsgBox "Le mot à trouver est vide", vbExclamation, "Pas de
recherche
possible"
End Sub
2°) Dans le code de Thisworkbook
Private Sub Workbook_Open()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher",
"Mot
?")
End Sub

A l'ouverture du classeur le mot à chercher est demandé.
Il sera utilisé par la suite dans la macro "chercheLeMot"

Cordialement
Pascal




"Help Me" a écrit dans le message de news:
4173807c$0$21085$
Bonjour à tous.

Quelqu'un pourrait m'aider pour faire la chose suivante :

Je suis sur une cellule (variable) de la colonne G.
J'aimerai qu'il cherche dans la colonne D (a partir de la ligne
ou
je
suis) le mot suivant : "Hardsoot" et qu'il se replace sur la
cellule
de
la colonne G de la ligne trouvée...

Exemple :

Je suis sur G12.
Apres avoir actionné la macro, il trouve le "Hardsoot" suivant en
D24. Il
se place alors en G24. (rappel : il ne faut pas qu'il m'indique
ceux
dont
le placement est avant ma ligne ...soit dans l'exemple D1 à D11)

***********************
Voila pour l'exemple.
Dans la pratique il serait génial qu'il me demande, lors de
l'utilisation
d'une autre macro quel mot rechercher...

Idéalement, sauriez vous me dire comment découper la macro en 2
étapes
différentes :
PHASE 1 : Il me demande quel mot rechercher dans la colonne D. et
le
stocke pour toutes les fois ou je lui demanderai la phase 2.
PHASE 2 : Macro de recherche indiquée ci dessus...

Merci à vous tous de votre aide...

A tres bientôt

Michel








































Avatar
papou
Re
Où as-tu placé l'ensemble du code ?
Si toutes les instructions se trouvent dans un unique module, cela
fonctionne.
(testé sur Excel 2003)
Cordialement
Pascal

"Help Me" a écrit dans le message de news:
417393cf$0$28241$
non plus...désolé...

tu as une autre idée ? :-)

Merci
Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:
OK%
Re
Ajoute un Public davant chacune des Sub :
Public MotAChercher As String
Public Sub ChercheLeMot()
If MotAChercher = "" Then _
MsgBox "Le mot à chercher n'a pas été renseigné" _
, vbExclamation, "Pas possible": Exit Sub
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
End Sub
Public Sub DefinirLeMot()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher", "Mot
?")
End Sub
Cordialement
Pascal

"Help Me" a écrit dans le message de news:
41739019$0$28238$
Merci

Mais cela ne marche pas...
Il dit que le mot n'a pas été défini...
J'ai donc placé les 2 macros dans les modules, lancé définirlemot() puis
cherchelemot()...

Apparemment, il "oublie" la valeur définie...
????


Merci
Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Re
Tant mieux ;-)
Donc pour ce que tu demandes, tu places ceci dans un module standard
(tu oublies le code précédent) :
Public MotAChercher As String
Sub ChercheLeMot()
If MotAChercher = "" Then _
MsgBox "Le mot à chercher n'a pas été renseigné" _
, vbExclamation, "Pas possible de continuer": Exit Sub
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
End Sub
Sub DefinirLeMot()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher", "Mot
?")
End Sub


"Help Me" a écrit dans le message de news:
41738b63$0$21082$

Merci à toi.
C'est GENIAL !!!
Je viens de le tester. C'est impeccable...

Par contre effectivement le mot est demandé au lancement du doc.
N'y aurait-t-il pas un moyen pour que je puisse avec l'envoi d'une
autre
macro lui indiquer quel mot choisir...car en travaillant dans ce même
doc,
je peux lui demander plein de fois de changer de mot...Cela
m'éviterait soit
de relancer le doc pour cela, soit de modifier le code vba en cours de
travail ?
Merci de ton aide !!!!

Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Bonjour
Voici une façon de procéder (testé rapidement) :
1°) Dans un module standard :
Public MotAChercher As String
Sub ChercheLeMot()
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
On Error GoTo CaVaPas
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
CaVaPas:
MsgBox "Le mot à trouver est vide", vbExclamation, "Pas de recherche
possible"
End Sub
2°) Dans le code de Thisworkbook
Private Sub Workbook_Open()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher",
"Mot
?")
End Sub

A l'ouverture du classeur le mot à chercher est demandé.
Il sera utilisé par la suite dans la macro "chercheLeMot"

Cordialement
Pascal




"Help Me" a écrit dans le message de news:
4173807c$0$21085$
Bonjour à tous.

Quelqu'un pourrait m'aider pour faire la chose suivante :

Je suis sur une cellule (variable) de la colonne G.
J'aimerai qu'il cherche dans la colonne D (a partir de la ligne ou
je
suis) le mot suivant : "Hardsoot" et qu'il se replace sur la
cellule de
la colonne G de la ligne trouvée...

Exemple :

Je suis sur G12.
Apres avoir actionné la macro, il trouve le "Hardsoot" suivant en
D24. Il
se place alors en G24. (rappel : il ne faut pas qu'il m'indique
ceux dont
le placement est avant ma ligne ...soit dans l'exemple D1 à D11)

***********************
Voila pour l'exemple.
Dans la pratique il serait génial qu'il me demande, lors de
l'utilisation
d'une autre macro quel mot rechercher...

Idéalement, sauriez vous me dire comment découper la macro en 2
étapes
différentes :
PHASE 1 : Il me demande quel mot rechercher dans la colonne D. et
le
stocke pour toutes les fois ou je lui demanderai la phase 2.
PHASE 2 : Macro de recherche indiquée ci dessus...

Merci à vous tous de votre aide...

A tres bientôt

Michel
































Avatar
Help Me
GOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALLLLLL !

TA QUESTION ETAIT LA REPONSE...

Je me flagèle donc, et vous avez tout bon...
Je l'avais placé dans le classeur de macros personnelles, et non dans celui
du doc utilisé...


MERCI A VOUS !!!!
Je revis...

PAPOU EST AU TOP :-)
et merci à PoyPoy et Jps de leur participation à la devinette du jour

Cordialement
Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Re
Où as-tu placé l'ensemble du code ?
Si toutes les instructions se trouvent dans un unique module, cela
fonctionne.
(testé sur Excel 2003)
Cordialement
Pascal

"Help Me" a écrit dans le message de news:
417393cf$0$28241$
non plus...désolé...

tu as une autre idée ? :-)

Merci
Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:
OK%
Re
Ajoute un Public davant chacune des Sub :
Public MotAChercher As String
Public Sub ChercheLeMot()
If MotAChercher = "" Then _
MsgBox "Le mot à chercher n'a pas été renseigné" _
, vbExclamation, "Pas possible": Exit Sub
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
End Sub
Public Sub DefinirLeMot()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher", "Mot
?")
End Sub
Cordialement
Pascal

"Help Me" a écrit dans le message de news:
41739019$0$28238$
Merci

Mais cela ne marche pas...
Il dit que le mot n'a pas été défini...
J'ai donc placé les 2 macros dans les modules, lancé définirlemot()
puis cherchelemot()...

Apparemment, il "oublie" la valeur définie...
????


Merci
Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Re
Tant mieux ;-)
Donc pour ce que tu demandes, tu places ceci dans un module standard
(tu oublies le code précédent) :
Public MotAChercher As String
Sub ChercheLeMot()
If MotAChercher = "" Then _
MsgBox "Le mot à chercher n'a pas été renseigné" _
, vbExclamation, "Pas possible de continuer": Exit Sub
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
End Sub
Sub DefinirLeMot()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher",
"Mot ?")
End Sub


"Help Me" a écrit dans le message de news:
41738b63$0$21082$

Merci à toi.
C'est GENIAL !!!
Je viens de le tester. C'est impeccable...

Par contre effectivement le mot est demandé au lancement du doc.
N'y aurait-t-il pas un moyen pour que je puisse avec l'envoi d'une
autre
macro lui indiquer quel mot choisir...car en travaillant dans ce même
doc,
je peux lui demander plein de fois de changer de mot...Cela
m'éviterait soit
de relancer le doc pour cela, soit de modifier le code vba en cours
de
travail ?
Merci de ton aide !!!!

Michel
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Bonjour
Voici une façon de procéder (testé rapidement) :
1°) Dans un module standard :
Public MotAChercher As String
Sub ChercheLeMot()
Dim LigDepart As Long, TrouveLe As Range
LigDepart = ActiveCell.Row
With ActiveSheet.Range("D" & LigDepart & ":D" &
Range("D65536").End(xlUp).Row)
On Error GoTo CaVaPas
Set TrouveLe = .Find(MotAChercher, LookIn:=xlValues,
searchorder:=xlByRows)
If Not TrouveLe Is Nothing Then
Cells(TrouveLe.Row, "G").Select
Else: MsgBox "Mot non trouvé", vbInformation
End If
End With
Exit Sub
CaVaPas:
MsgBox "Le mot à trouver est vide", vbExclamation, "Pas de
recherche
possible"
End Sub
2°) Dans le code de Thisworkbook
Private Sub Workbook_Open()
MotAChercher = InputBox("Quel est le mot qu'il faudra rechercher",
"Mot
?")
End Sub

A l'ouverture du classeur le mot à chercher est demandé.
Il sera utilisé par la suite dans la macro "chercheLeMot"

Cordialement
Pascal




"Help Me" a écrit dans le message de news:
4173807c$0$21085$
Bonjour à tous.

Quelqu'un pourrait m'aider pour faire la chose suivante :

Je suis sur une cellule (variable) de la colonne G.
J'aimerai qu'il cherche dans la colonne D (a partir de la ligne ou
je
suis) le mot suivant : "Hardsoot" et qu'il se replace sur la
cellule de
la colonne G de la ligne trouvée...

Exemple :

Je suis sur G12.
Apres avoir actionné la macro, il trouve le "Hardsoot" suivant en
D24. Il
se place alors en G24. (rappel : il ne faut pas qu'il m'indique
ceux dont
le placement est avant ma ligne ...soit dans l'exemple D1 à D11)

***********************
Voila pour l'exemple.
Dans la pratique il serait génial qu'il me demande, lors de
l'utilisation
d'une autre macro quel mot rechercher...

Idéalement, sauriez vous me dire comment découper la macro en 2
étapes
différentes :
PHASE 1 : Il me demande quel mot rechercher dans la colonne D. et
le
stocke pour toutes les fois ou je lui demanderai la phase 2.
PHASE 2 : Macro de recherche indiquée ci dessus...

Merci à vous tous de votre aide...

A tres bientôt

Michel




































1 2