Bonjour,
un petit soucis d'utilisation de Find en VBA.
Voici mon soucis (excel 2003) :
En feuille1 j'ai une liste de mot (disons de A1 à G200)
En feuille2, j'ai des boutons qui doivent lancer une macro qui ne marchent
pas !
Cette macro doit rechercher dans la feuille1, le mot inscrit sur bouton
(caption) et donner le nom qui se trouve sur la même ligne à la colonne E
et continuer tant que l'on trouve le mot en question.
Si mon problème n'est pas assez clair dites le moi, je donnerais un
exemple.
Merci
Olivier
Bonjour,
un petit soucis d'utilisation de Find en VBA.
Voici mon soucis (excel 2003) :
En feuille1 j'ai une liste de mot (disons de A1 à G200)
En feuille2, j'ai des boutons qui doivent lancer une macro qui ne marchent
pas !
Cette macro doit rechercher dans la feuille1, le mot inscrit sur bouton
(caption) et donner le nom qui se trouve sur la même ligne à la colonne E
et continuer tant que l'on trouve le mot en question.
Si mon problème n'est pas assez clair dites le moi, je donnerais un
exemple.
Merci
Olivier
Bonjour,
un petit soucis d'utilisation de Find en VBA.
Voici mon soucis (excel 2003) :
En feuille1 j'ai une liste de mot (disons de A1 à G200)
En feuille2, j'ai des boutons qui doivent lancer une macro qui ne marchent
pas !
Cette macro doit rechercher dans la feuille1, le mot inscrit sur bouton
(caption) et donner le nom qui se trouve sur la même ligne à la colonne E
et continuer tant que l'on trouve le mot en question.
Si mon problème n'est pas assez clair dites le moi, je donnerais un
exemple.
Merci
Olivier
Ou comme ceci pour trouver toutes les occurences du mot:
Sub Trouver_Mot()
Dim Mot As String, Adr As String, Adr1 As String
Dim Trouve As Range, Sh As Worksheet
Dim Ok As String
'Feuille où sont les boutons
With Worksheets("Feuil2")
Mot = .Shapes(Application.Caller).OLEFormat.Object.Caption
End With
'Feuille où se retrouvent les données
Set Sh = Worksheets("Feuil1")
With Sh
With .Range("a1:G200")
Set Trouve = .Find(Mot, , xlValues, xlWhole)
If Not Trouve Is Nothing Then
Adr1 = Trouve.Address
While Adr <> Adr1
Mot = Sh.Cells(Trouve.Row, "E").Value
MsgBox Trouve.Address & " " & Mot
Set Trouve = .FindNext(Trouve)
Adr = Trouve.Address
Wend
End If
End With
End With
If Mot = "" Then MsgBox "Désolé, mais pas trouver."
End Sub
"Olivier" wrote in message
news:4980f38e$0$28674$Bonjour,
un petit soucis d'utilisation de Find en VBA.
Voici mon soucis (excel 2003) :
En feuille1 j'ai une liste de mot (disons de A1 à G200)
En feuille2, j'ai des boutons qui doivent lancer une macro qui ne
marchent pas !
Cette macro doit rechercher dans la feuille1, le mot inscrit sur bouton
(caption) et donner le nom qui se trouve sur la même ligne à la colonne E
et continuer tant que l'on trouve le mot en question.
Si mon problème n'est pas assez clair dites le moi, je donnerais un
exemple.
Merci
Olivier
Ou comme ceci pour trouver toutes les occurences du mot:
Sub Trouver_Mot()
Dim Mot As String, Adr As String, Adr1 As String
Dim Trouve As Range, Sh As Worksheet
Dim Ok As String
'Feuille où sont les boutons
With Worksheets("Feuil2")
Mot = .Shapes(Application.Caller).OLEFormat.Object.Caption
End With
'Feuille où se retrouvent les données
Set Sh = Worksheets("Feuil1")
With Sh
With .Range("a1:G200")
Set Trouve = .Find(Mot, , xlValues, xlWhole)
If Not Trouve Is Nothing Then
Adr1 = Trouve.Address
While Adr <> Adr1
Mot = Sh.Cells(Trouve.Row, "E").Value
MsgBox Trouve.Address & " " & Mot
Set Trouve = .FindNext(Trouve)
Adr = Trouve.Address
Wend
End If
End With
End With
If Mot = "" Then MsgBox "Désolé, mais pas trouver."
End Sub
"Olivier" <olivier1970@club-internet.fr> wrote in message
news:4980f38e$0$28674$7a628cd7@news.club-internet.fr...
Bonjour,
un petit soucis d'utilisation de Find en VBA.
Voici mon soucis (excel 2003) :
En feuille1 j'ai une liste de mot (disons de A1 à G200)
En feuille2, j'ai des boutons qui doivent lancer une macro qui ne
marchent pas !
Cette macro doit rechercher dans la feuille1, le mot inscrit sur bouton
(caption) et donner le nom qui se trouve sur la même ligne à la colonne E
et continuer tant que l'on trouve le mot en question.
Si mon problème n'est pas assez clair dites le moi, je donnerais un
exemple.
Merci
Olivier
Ou comme ceci pour trouver toutes les occurences du mot:
Sub Trouver_Mot()
Dim Mot As String, Adr As String, Adr1 As String
Dim Trouve As Range, Sh As Worksheet
Dim Ok As String
'Feuille où sont les boutons
With Worksheets("Feuil2")
Mot = .Shapes(Application.Caller).OLEFormat.Object.Caption
End With
'Feuille où se retrouvent les données
Set Sh = Worksheets("Feuil1")
With Sh
With .Range("a1:G200")
Set Trouve = .Find(Mot, , xlValues, xlWhole)
If Not Trouve Is Nothing Then
Adr1 = Trouve.Address
While Adr <> Adr1
Mot = Sh.Cells(Trouve.Row, "E").Value
MsgBox Trouve.Address & " " & Mot
Set Trouve = .FindNext(Trouve)
Adr = Trouve.Address
Wend
End If
End With
End With
If Mot = "" Then MsgBox "Désolé, mais pas trouver."
End Sub
"Olivier" wrote in message
news:4980f38e$0$28674$Bonjour,
un petit soucis d'utilisation de Find en VBA.
Voici mon soucis (excel 2003) :
En feuille1 j'ai une liste de mot (disons de A1 à G200)
En feuille2, j'ai des boutons qui doivent lancer une macro qui ne
marchent pas !
Cette macro doit rechercher dans la feuille1, le mot inscrit sur bouton
(caption) et donner le nom qui se trouve sur la même ligne à la colonne E
et continuer tant que l'on trouve le mot en question.
Si mon problème n'est pas assez clair dites le moi, je donnerais un
exemple.
Merci
Olivier
Dans la procédure proposée, il suffisait
d'effacer la ligne de code Exit Do dans la boucle
pour obtenir toutes les entrées si tel était ton désir !
"michdenis" a écrit dans le message de groupe de
discussion :
Il y a aussi cette version... selon ce que tu désires:
'---------------------------------------------
Sub Trouver_Mot()
Dim Mot As String, Adr As String
Dim Trouve As Range, Sh As Worksheet
Dim Ok As String
'Feuille où sont les boutons
With Worksheets("Feuil2")
Mot = .Shapes(Application.Caller).OLEFormat.Object.Caption
End With
'Feuille où se retrouvent les données
Set Sh = Worksheets("Feuil1")
With Sh
With .Range("a1:G200")
Set Trouve = .Find(Mot, , xlValues, xlWhole)
If Not Trouve Is Nothing Then
Adr = Trouve.Address
Do
Mot = Sh.Cells(Trouve.Row, "E").Value
If Mot <> "" Then
MsgBox Mot
Exit Do
Else
Set Trouve = .FindNext(Trouve)
End If
Loop Until Trouve Is Nothing Or Adr = Trouve.Address
End If
End With
End With
If Mot = "" Then MsgBox "Désolé, mais pas trouver."
End Sub
'---------------------------------------------
"Olivier" a écrit dans le message de groupe
de discussion :
4980f38e$0$28674$
Bonjour,
un petit soucis d'utilisation de Find en VBA.
Voici mon soucis (excel 2003) :
En feuille1 j'ai une liste de mot (disons de A1 à G200)
En feuille2, j'ai des boutons qui doivent lancer une macro qui ne marchent
pas !
Cette macro doit rechercher dans la feuille1, le mot inscrit sur bouton
(caption) et donner le nom qui se trouve sur la même ligne à la colonne E
et
continuer tant que l'on trouve le mot en question.
Si mon problème n'est pas assez clair dites le moi, je donnerais un
exemple.
Merci
Olivier
Dans la procédure proposée, il suffisait
d'effacer la ligne de code Exit Do dans la boucle
pour obtenir toutes les entrées si tel était ton désir !
"michdenis" <michdenis@hotmail.com> a écrit dans le message de groupe de
discussion :
291072CF-67DB-46B7-8830-BC1D12EE4E3B@microsoft.com...
Il y a aussi cette version... selon ce que tu désires:
'---------------------------------------------
Sub Trouver_Mot()
Dim Mot As String, Adr As String
Dim Trouve As Range, Sh As Worksheet
Dim Ok As String
'Feuille où sont les boutons
With Worksheets("Feuil2")
Mot = .Shapes(Application.Caller).OLEFormat.Object.Caption
End With
'Feuille où se retrouvent les données
Set Sh = Worksheets("Feuil1")
With Sh
With .Range("a1:G200")
Set Trouve = .Find(Mot, , xlValues, xlWhole)
If Not Trouve Is Nothing Then
Adr = Trouve.Address
Do
Mot = Sh.Cells(Trouve.Row, "E").Value
If Mot <> "" Then
MsgBox Mot
Exit Do
Else
Set Trouve = .FindNext(Trouve)
End If
Loop Until Trouve Is Nothing Or Adr = Trouve.Address
End If
End With
End With
If Mot = "" Then MsgBox "Désolé, mais pas trouver."
End Sub
'---------------------------------------------
"Olivier" <olivier1970@club-internet.fr> a écrit dans le message de groupe
de discussion :
4980f38e$0$28674$7a628cd7@news.club-internet.fr...
Bonjour,
un petit soucis d'utilisation de Find en VBA.
Voici mon soucis (excel 2003) :
En feuille1 j'ai une liste de mot (disons de A1 à G200)
En feuille2, j'ai des boutons qui doivent lancer une macro qui ne marchent
pas !
Cette macro doit rechercher dans la feuille1, le mot inscrit sur bouton
(caption) et donner le nom qui se trouve sur la même ligne à la colonne E
et
continuer tant que l'on trouve le mot en question.
Si mon problème n'est pas assez clair dites le moi, je donnerais un
exemple.
Merci
Olivier
Dans la procédure proposée, il suffisait
d'effacer la ligne de code Exit Do dans la boucle
pour obtenir toutes les entrées si tel était ton désir !
"michdenis" a écrit dans le message de groupe de
discussion :
Il y a aussi cette version... selon ce que tu désires:
'---------------------------------------------
Sub Trouver_Mot()
Dim Mot As String, Adr As String
Dim Trouve As Range, Sh As Worksheet
Dim Ok As String
'Feuille où sont les boutons
With Worksheets("Feuil2")
Mot = .Shapes(Application.Caller).OLEFormat.Object.Caption
End With
'Feuille où se retrouvent les données
Set Sh = Worksheets("Feuil1")
With Sh
With .Range("a1:G200")
Set Trouve = .Find(Mot, , xlValues, xlWhole)
If Not Trouve Is Nothing Then
Adr = Trouve.Address
Do
Mot = Sh.Cells(Trouve.Row, "E").Value
If Mot <> "" Then
MsgBox Mot
Exit Do
Else
Set Trouve = .FindNext(Trouve)
End If
Loop Until Trouve Is Nothing Or Adr = Trouve.Address
End If
End With
End With
If Mot = "" Then MsgBox "Désolé, mais pas trouver."
End Sub
'---------------------------------------------
"Olivier" a écrit dans le message de groupe
de discussion :
4980f38e$0$28674$
Bonjour,
un petit soucis d'utilisation de Find en VBA.
Voici mon soucis (excel 2003) :
En feuille1 j'ai une liste de mot (disons de A1 à G200)
En feuille2, j'ai des boutons qui doivent lancer une macro qui ne marchent
pas !
Cette macro doit rechercher dans la feuille1, le mot inscrit sur bouton
(caption) et donner le nom qui se trouve sur la même ligne à la colonne E
et
continuer tant que l'on trouve le mot en question.
Si mon problème n'est pas assez clair dites le moi, je donnerais un
exemple.
Merci
Olivier
Dans la procédure proposée, il suffisait
d'effacer la ligne de code Exit Do dans la boucle
pour obtenir toutes les entrées si tel était ton désir !
"michdenis" a écrit dans le message de groupe de
discussion :
Il y a aussi cette version... selon ce que tu désires:
'---------------------------------------------
Sub Trouver_Mot()
Dim Mot As String, Adr As String
Dim Trouve As Range, Sh As Worksheet
Dim Ok As String
'Feuille où sont les boutons
With Worksheets("Feuil2")
Mot = .Shapes(Application.Caller).OLEFormat.Object.Caption
End With
'Feuille où se retrouvent les données
Set Sh = Worksheets("Feuil1")
With Sh
With .Range("a1:G200")
Set Trouve = .Find(Mot, , xlValues, xlWhole)
If Not Trouve Is Nothing Then
Adr = Trouve.Address
Do
Mot = Sh.Cells(Trouve.Row, "E").Value
If Mot <> "" Then
MsgBox Mot
Exit Do
Else
Set Trouve = .FindNext(Trouve)
End If
Loop Until Trouve Is Nothing Or Adr = Trouve.Address
End If
End With
End With
If Mot = "" Then MsgBox "Désolé, mais pas trouver."
End Sub
'---------------------------------------------
"Olivier" a écrit dans le message de groupe
de discussion :
4980f38e$0$28674$
Bonjour,
un petit soucis d'utilisation de Find en VBA.
Voici mon soucis (excel 2003) :
En feuille1 j'ai une liste de mot (disons de A1 à G200)
En feuille2, j'ai des boutons qui doivent lancer une macro qui ne marchent
pas !
Cette macro doit rechercher dans la feuille1, le mot inscrit sur bouton
(caption) et donner le nom qui se trouve sur la même ligne à la colonne E
et
continuer tant que l'on trouve le mot en question.
Si mon problème n'est pas assez clair dites le moi, je donnerais un
exemple.
Merci
Olivier
Dans la procédure proposée, il suffisait
d'effacer la ligne de code Exit Do dans la boucle
pour obtenir toutes les entrées si tel était ton désir !
"michdenis" <michdenis@hotmail.com> a écrit dans le message de groupe de
discussion :
291072CF-67DB-46B7-8830-BC1D12EE4E3B@microsoft.com...
Il y a aussi cette version... selon ce que tu désires:
'---------------------------------------------
Sub Trouver_Mot()
Dim Mot As String, Adr As String
Dim Trouve As Range, Sh As Worksheet
Dim Ok As String
'Feuille où sont les boutons
With Worksheets("Feuil2")
Mot = .Shapes(Application.Caller).OLEFormat.Object.Caption
End With
'Feuille où se retrouvent les données
Set Sh = Worksheets("Feuil1")
With Sh
With .Range("a1:G200")
Set Trouve = .Find(Mot, , xlValues, xlWhole)
If Not Trouve Is Nothing Then
Adr = Trouve.Address
Do
Mot = Sh.Cells(Trouve.Row, "E").Value
If Mot <> "" Then
MsgBox Mot
Exit Do
Else
Set Trouve = .FindNext(Trouve)
End If
Loop Until Trouve Is Nothing Or Adr = Trouve.Address
End If
End With
End With
If Mot = "" Then MsgBox "Désolé, mais pas trouver."
End Sub
'---------------------------------------------
"Olivier" <olivier1970@club-internet.fr> a écrit dans le message de groupe
de discussion :
4980f38e$0$28674$7a628cd7@news.club-internet.fr...
Bonjour,
un petit soucis d'utilisation de Find en VBA.
Voici mon soucis (excel 2003) :
En feuille1 j'ai une liste de mot (disons de A1 à G200)
En feuille2, j'ai des boutons qui doivent lancer une macro qui ne marchent
pas !
Cette macro doit rechercher dans la feuille1, le mot inscrit sur bouton
(caption) et donner le nom qui se trouve sur la même ligne à la colonne E
et
continuer tant que l'on trouve le mot en question.
Si mon problème n'est pas assez clair dites le moi, je donnerais un
exemple.
Merci
Olivier
Dans la procédure proposée, il suffisait
d'effacer la ligne de code Exit Do dans la boucle
pour obtenir toutes les entrées si tel était ton désir !
"michdenis" a écrit dans le message de groupe de
discussion :
Il y a aussi cette version... selon ce que tu désires:
'---------------------------------------------
Sub Trouver_Mot()
Dim Mot As String, Adr As String
Dim Trouve As Range, Sh As Worksheet
Dim Ok As String
'Feuille où sont les boutons
With Worksheets("Feuil2")
Mot = .Shapes(Application.Caller).OLEFormat.Object.Caption
End With
'Feuille où se retrouvent les données
Set Sh = Worksheets("Feuil1")
With Sh
With .Range("a1:G200")
Set Trouve = .Find(Mot, , xlValues, xlWhole)
If Not Trouve Is Nothing Then
Adr = Trouve.Address
Do
Mot = Sh.Cells(Trouve.Row, "E").Value
If Mot <> "" Then
MsgBox Mot
Exit Do
Else
Set Trouve = .FindNext(Trouve)
End If
Loop Until Trouve Is Nothing Or Adr = Trouve.Address
End If
End With
End With
If Mot = "" Then MsgBox "Désolé, mais pas trouver."
End Sub
'---------------------------------------------
"Olivier" a écrit dans le message de groupe
de discussion :
4980f38e$0$28674$
Bonjour,
un petit soucis d'utilisation de Find en VBA.
Voici mon soucis (excel 2003) :
En feuille1 j'ai une liste de mot (disons de A1 à G200)
En feuille2, j'ai des boutons qui doivent lancer une macro qui ne marchent
pas !
Cette macro doit rechercher dans la feuille1, le mot inscrit sur bouton
(caption) et donner le nom qui se trouve sur la même ligne à la colonne E
et
continuer tant que l'on trouve le mot en question.
Si mon problème n'est pas assez clair dites le moi, je donnerais un
exemple.
Merci
Olivier