Petit soucis avec Find
Résolu/Fermé
max850
Messages postés
304
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
-
4 mai 2017 à 16:29
max850 Messages postés 304 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 - 5 mai 2017 à 14:38
max850 Messages postés 304 Date d'inscription dimanche 10 janvier 2016 Statut Membre Dernière intervention 4 janvier 2020 - 5 mai 2017 à 14:38
A voir également:
- Petit soucis avec Find
- Petit 1 comme ² ✓ - Forum Windows
- Find grep ✓ - Forum Linux / Unix
- Excel trier du plus grand au plus petit - Guide
- Petit 3 ✓ - Forum Word
- Petit 2 clavier iphone ✓ - Forum iPhone
7 réponses
thev
Messages postés
1883
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
6 novembre 2024
691
4 mai 2017 à 16:43
4 mai 2017 à 16:43
Bonjour,
utilise un masque de ce genre :
comptema = "45*" si par exemple 45 sont les 2 premiers chiffres à rechercher.
utilise un masque de ce genre :
comptema = "45*" si par exemple 45 sont les 2 premiers chiffres à rechercher.
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié le 4 mai 2017 à 17:12
Modifié le 4 mai 2017 à 17:12
Bonjour
Sur ton code, tu testes uniquement l'absence de comptema ?
un essai
Michel
Sur ton code, tu testes uniquement l'absence de comptema ?
un essai
Option Explicit
'-----------------------------
Sub vvv()
Dim Comptema As String ' comptema est donné par un textbox et est donc du texte
Comptema = Left(TextBox1.Value, 2)
With Sheets("Feuil7")
On Error GoTo erreur
.Columns("D").Find(What:=Comptema, After:=Range("D5")).Select 'pour demo: on va sur la cellule trouvée contenant au moins comptema (valable si par ex "rrgggg" ou "hhhrrggg")
End With
'code éventuel.......
Exit Sub
erreur:
MsgBox "Sélectionner un compte", vbExclamation + vbDefaultButton2, "erreur"
'TextBox1 = ""
'cancel = True
End Sub
Michel
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
4 mai 2017 à 17:19
4 mai 2017 à 17:19
PS 17:16h
si tu ne veus que les 2 lettres de comptema et seulement ces 2 lettre ajoute à find
si tu ne veus que les 2 lettres de comptema et seulement ces 2 lettre ajoute à find
Find(What:=Comptema, After:=Range("D5"), XlLookAt := xlWhole ).
max850
Messages postés
304
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
3
>
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
4 mai 2017 à 18:23
4 mai 2017 à 18:23
michel j'ai comme réponse argument introuvable
max850
Messages postés
304
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
3
4 mai 2017 à 17:18
4 mai 2017 à 17:18
bonjour thev et michel
désolé thev mais ta proposition ne fonctionne pas
michel je teste la tienne
désolé thev mais ta proposition ne fonctionne pas
michel je teste la tienne
max850
Messages postés
304
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
3
4 mai 2017 à 17:52
4 mai 2017 à 17:52
Michel
oui je teste uniquement l'absence de comptema
mais comment puis je avec ta solution filtrer sur toute la colonne les deux premiers caractères du nombre
oui je teste uniquement l'absence de comptema
mais comment puis je avec ta solution filtrer sur toute la colonne les deux premiers caractères du nombre
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
5 mai 2017 à 08:03
5 mai 2017 à 08:03
bonjour
SI tu veux simplement tester l'absence de comptema, tu as plus simple que la fonction Find (pas la peine de se prendre la tête !) ;-)
en résumant (comptema en 2 lettrrs)
si les 2 lettres seulement et pas d'autres lettres ou chiffres
If application.countif(Range("D6:D" & derlig),comptema)=0 then
Msgbox.....
si les 2 lettres incluses avec d'autres lettes ou chiffres
If application.countif(Range("D6:D" & derlig),"*" & comptema & "*")=0 then
Msgbox.....
Michel
SI tu veux simplement tester l'absence de comptema, tu as plus simple que la fonction Find (pas la peine de se prendre la tête !) ;-)
en résumant (comptema en 2 lettrrs)
si les 2 lettres seulement et pas d'autres lettres ou chiffres
If application.countif(Range("D6:D" & derlig),comptema)=0 then
Msgbox.....
si les 2 lettres incluses avec d'autres lettes ou chiffres
If application.countif(Range("D6:D" & derlig),"*" & comptema & "*")=0 then
Msgbox.....
Michel
max850
Messages postés
304
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
3
Modifié le 5 mai 2017 à 12:34
Modifié le 5 mai 2017 à 12:34
Bonjour Michel
Tu as parfaitement raison Michel pourquoi faire compliqué quand on peut faire simple
j'ai appliqué l'une ou l'autre de tes formules mais j'obtiens le message d'erreur methode range de l'objet global a échoué"
j'ai certainement oublié quelque chose quelque part
comptema = Left(TextBox1.Value, 2)
Sheets("compte").Activate
' With Feuil7
With Sheets("compte")
derlig = Range("D" & Rows.Count).End(xlUp).Row
With Range("D5:D" & derlig)
If Application.CountIf(Range("D6:D") & derlig, "*" & comptema & "*") = 0 Then
MsgBox "Sélectionner une activité réalisée", vbExclamation + vbDefaultButton2, "Activité non réalisée"
TextBox1 = ""
cancel = True
Exit Sub
End If
End With
ActiveSheet.Range("$D$5:$D$" & derlig).AutoFilter Field:=1, Criteria1:="=" & comptema & "*", _
Operator:=xlAnd
End With
Tu as parfaitement raison Michel pourquoi faire compliqué quand on peut faire simple
j'ai appliqué l'une ou l'autre de tes formules mais j'obtiens le message d'erreur methode range de l'objet global a échoué"
j'ai certainement oublié quelque chose quelque part
comptema = Left(TextBox1.Value, 2)
Sheets("compte").Activate
' With Feuil7
With Sheets("compte")
derlig = Range("D" & Rows.Count).End(xlUp).Row
With Range("D5:D" & derlig)
If Application.CountIf(Range("D6:D") & derlig, "*" & comptema & "*") = 0 Then
MsgBox "Sélectionner une activité réalisée", vbExclamation + vbDefaultButton2, "Activité non réalisée"
TextBox1 = ""
cancel = True
Exit Sub
End If
End With
ActiveSheet.Range("$D$5:$D$" & derlig).AutoFilter Field:=1, Criteria1:="=" & comptema & "*", _
Operator:=xlAnd
End With
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié le 5 mai 2017 à 13:51
Modifié le 5 mai 2017 à 13:51
Quand tu es dans un bloc With -End with, les objets à l'intérieur du bloc doivent ^tre
précédés d'un point
+ parenthèse mal placée
précédés d'un point
+ parenthèse mal placée
>.Range("D" & Rows.Count).End(xlUp).Row
With .Range("D5:D" & derlig)
If Application.CountIf(.Range("D6:D" & derlig, "*" & comptema & "*") = 0 Then
...
max850
Messages postés
304
Date d'inscription
dimanche 10 janvier 2016
Statut
Membre
Dernière intervention
4 janvier 2020
3
5 mai 2017 à 14:38
5 mai 2017 à 14:38
Parfait Michel
ai juste ajouter une ) après derlig
If Application.CountIf(.Range("D6:D" & derlig, "*" & comptema & "*") = 0 Then
...
merci beaucoup pour ta patience
ai juste ajouter une ) après derlig
If Application.CountIf(.Range("D6:D" & derlig, "*" & comptema & "*") = 0 Then
...
merci beaucoup pour ta patience