Bonjour,
J'ai un problème avec l'utilisation de find dans le code suivant:
Private Sub origiTB_Change()
Dim re
re = origiTB
On Error GoTo fin
With Worksheets(1).Range("c3:c6000")
Set c = .Find(re, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
nomlaboTB = c.Value
Set c = .FindNext(c)
End If
End With
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel
Bonjour. Essaie : Set c = .Find(re & "*", LookIn:=xlValues, lookat:=xlwhole) (j'ai pas bien compris le reste de ton code; pourquoi FindNext ?) Cordialement. Daniel "nicolas S" a écrit dans le message de news: dt4ia1$13$
Bonjour, J'ai un problème avec l'utilisation de find dans le code suivant:
Private Sub origiTB_Change()
Dim re re = origiTB On Error GoTo fin
With Worksheets(1).Range("c3:c6000") Set c = .Find(re, LookIn:=xlValues) If Not c Is Nothing Then firstAddress = c.Address nomlaboTB = c.Value Set c = .FindNext(c) End If End With
Je souhaite que à chaque frappe dans origiTB s'affiche dans nomlaboTB le premier nom de la liste commençant par les lettres de origiTB.
Le problème est que par exemple quand origiTB a pour valeur "me" nomlaboTB prend la valeur Omega qui contient "me" au milieu mais pas au début.
Comment y remédier, ou existe-il une autre méthode.
Merci de vos conseils
Bonjour.
Essaie :
Set c = .Find(re & "*", LookIn:=xlValues, lookat:=xlwhole)
(j'ai pas bien compris le reste de ton code; pourquoi FindNext ?)
Cordialement.
Daniel
"nicolas S" <NmcnSsaillardP@libertysurf.fr> a écrit dans le message de news:
dt4ia1$13$1@news.tiscali.fr...
Bonjour,
J'ai un problème avec l'utilisation de find dans le code suivant:
Private Sub origiTB_Change()
Dim re
re = origiTB
On Error GoTo fin
With Worksheets(1).Range("c3:c6000")
Set c = .Find(re, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
nomlaboTB = c.Value
Set c = .FindNext(c)
End If
End With
Bonjour. Essaie : Set c = .Find(re & "*", LookIn:=xlValues, lookat:=xlwhole) (j'ai pas bien compris le reste de ton code; pourquoi FindNext ?) Cordialement. Daniel "nicolas S" a écrit dans le message de news: dt4ia1$13$
Bonjour, J'ai un problème avec l'utilisation de find dans le code suivant:
Private Sub origiTB_Change()
Dim re re = origiTB On Error GoTo fin
With Worksheets(1).Range("c3:c6000") Set c = .Find(re, LookIn:=xlValues) If Not c Is Nothing Then firstAddress = c.Address nomlaboTB = c.Value Set c = .FindNext(c) End If End With
Je souhaite que à chaque frappe dans origiTB s'affiche dans nomlaboTB le premier nom de la liste commençant par les lettres de origiTB.
Le problème est que par exemple quand origiTB a pour valeur "me" nomlaboTB prend la valeur Omega qui contient "me" au milieu mais pas au début.
Comment y remédier, ou existe-il une autre méthode.
Merci de vos conseils
JB
Bonjour,
Sub Macro1() re = "me" trouvé = False With Worksheets(1).Range("c31:c500") Set c = .Find(re, LookIn:=xlValues, LookAt:=xlPart) If Not c Is Nothing Then firstAddress = c.Address Do If Left(c.Value, Len(re)) = re Then temp = c.Value: trouvé = True Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> firstAddress And Not trouvé End If If trouvé Then MsgBox temp End With End Sub
JB
Bonjour,
Sub Macro1()
re = "me"
trouvé = False
With Worksheets(1).Range("c31:c500")
Set c = .Find(re, LookIn:=xlValues, LookAt:=xlPart)
If Not c Is Nothing Then
firstAddress = c.Address
Do
If Left(c.Value, Len(re)) = re Then temp = c.Value:
trouvé = True
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
And Not trouvé
End If
If trouvé Then MsgBox temp
End With
End Sub
Sub Macro1() re = "me" trouvé = False With Worksheets(1).Range("c31:c500") Set c = .Find(re, LookIn:=xlValues, LookAt:=xlPart) If Not c Is Nothing Then firstAddress = c.Address Do If Left(c.Value, Len(re)) = re Then temp = c.Value: trouvé = True Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> firstAddress And Not trouvé End If If trouvé Then MsgBox temp End With End Sub
JB
nicolas S
Merci de votre aide, j'ai appliqué la solution de Daniel.
J'aurais du supprimer FindNext qui fait parti du code copier dans l'aide EXCEL
nicolas
"nicolas S" a écrit dans le message de news: dt4ia1$13$
Bonjour, J'ai un problème avec l'utilisation de find dans le code suivant:
Private Sub origiTB_Change()
Dim re re = origiTB On Error GoTo fin
With Worksheets(1).Range("c3:c6000") Set c = .Find(re, LookIn:=xlValues) If Not c Is Nothing Then firstAddress = c.Address nomlaboTB = c.Value Set c = .FindNext(c) End If End With
Je souhaite que à chaque frappe dans origiTB s'affiche dans nomlaboTB le premier nom de la liste commençant par les lettres de origiTB.
Le problème est que par exemple quand origiTB a pour valeur "me" nomlaboTB prend la valeur Omega qui contient "me" au milieu mais pas au début.
Comment y remédier, ou existe-il une autre méthode.
Merci de vos conseils
Merci de votre aide, j'ai appliqué la solution de Daniel.
J'aurais du supprimer FindNext qui fait parti du code copier dans l'aide
EXCEL
nicolas
"nicolas S" <NmcnSsaillardP@libertysurf.fr> a écrit dans le message de news:
dt4ia1$13$1@news.tiscali.fr...
Bonjour,
J'ai un problème avec l'utilisation de find dans le code suivant:
Private Sub origiTB_Change()
Dim re
re = origiTB
On Error GoTo fin
With Worksheets(1).Range("c3:c6000")
Set c = .Find(re, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
nomlaboTB = c.Value
Set c = .FindNext(c)
End If
End With
Merci de votre aide, j'ai appliqué la solution de Daniel.
J'aurais du supprimer FindNext qui fait parti du code copier dans l'aide EXCEL
nicolas
"nicolas S" a écrit dans le message de news: dt4ia1$13$
Bonjour, J'ai un problème avec l'utilisation de find dans le code suivant:
Private Sub origiTB_Change()
Dim re re = origiTB On Error GoTo fin
With Worksheets(1).Range("c3:c6000") Set c = .Find(re, LookIn:=xlValues) If Not c Is Nothing Then firstAddress = c.Address nomlaboTB = c.Value Set c = .FindNext(c) End If End With