Valeur est égale à une valeur ou une autre
f894009 Messages postés 17414 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaite recherchée une certaine valeur dans une colonne d'un fichier excel. Cependant, cette valeur a deux mots et ces deux mots peuvent être espacés ou collés.
J'aimerai déclarer cette valeur en mode est égale à valeur1(celle avec espace) ou à valeur2( celle sans espace)
Pour pouvoir ensuite avec un Find rechercher cette valeur dans ma colonne ( la méthode du find est acquise pour moi)
Merciii
- Valeur est égale à une valeur ou une autre
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Valeur ascii - Guide
- Valeur relative et absolue - Forum Excel
- Excel ne pas afficher #valeur ✓ - Forum Excel
- Cette valeur ne correspond pas aux restrictions de validation des données pour cette cellule ✓ - Forum MacOS
4 réponses
Bonjour,
ces deux mots peuvent être espacés ou collés.
Est ce que le premier mot ou le deuxieme peuvent etre associes avec un autre mot dans une cellule?
bonjour,
Quand le Find devient complexe, il est préférable de faire une boucle VBA qui vérifie chaque valeur en utilisant un critère aussi complexe que nécessaire.
Comme expliqué dans le paragraphe avant "Exemples", ici: https://docs.microsoft.com/fr-fr/office/vba/api/Excel.Range.Find
Re,
Une boucle avec deux like
Sub test()
Valeur1 = "a"
Valeur2 = "z"
For n = 1 To 7
If Cells(n, 1) Like "*" & Valeur1 & "*" And Cells(n, 1) Like "*" & Valeur2 & "*" Then
MsgBox Cells(n, 1)
End If
Next n
End Sub
A vous d'adapter vu que nous ne savons pas ce que en ferez.
Si les deux valeurs sont inversees ex: za ou z a il y a detection
EDIT : Basic sélectionné pour la coloration.
Bonjour,
Une facon de faire avec find
Sub test_2()
Valeur1 = "a"
Valeur2 = "z"
Valeur = "*" & Valeur1 & "*" & Valeur2 & "*"
Set Plage = Range("A1:A10")
Set cell = Plage.Cells.Find(what:=Valeur, LookAt:=xlPart)
If cell Is Nothing Then
msg = Valeur & " n'existe pas"
Else
msg = "Valeur: " & Valeur & "-->" & cell.Address
End If
MsgBox msg
End Sub
'celle que j'utilise pour recherches multiples
Sub test_3()
Valeur1 = "a"
Valeur2 = "z"
Valeur = "*" & Valeur1 & "*" & Valeur2 & "*"
Set Plage = Range("A2:A10")
Nb = Application.CountIf(Plage, Valeur)
If Nb > 0 Then
lig = 1
Adr = Columns(1).Find(Valeur, Cells(lig, 1), , LookAt:=xlPart).Address
msg = "Valeur: " & Valeur & "-->" & Adr
Else
msg = Valeur & " n'existe pas"
End If
MsgBox msg
End Sub
oui enfaite ils correspondent chacun à une valeur dans une cellule
Re,
Est-ce que ces deux mots sont toujours en "couple" dans les cellules?
ex:
M1=a, M2=z
a z
ax ?
az
sz ?
a ou z ne sont jamais avec un autre mot
oui il peut y avoir a et z , a et x, s et z
ca peut changer