Recherche sur bout de texte

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

samixite

XLDnaute Nouveau
Bonjour à toutes et tous,

J'ai un classeur contenant 3 colonnes A,B et C
C contient des numéros de commandes de forme et taille totalement aléatoire
J'aimerais avoir une macro qui me demande les 4 derniers caractères d'un numéro de commande et qui m'affiche toutes les lignes correspondantes.
Je joints une partie du classeur

Merci pour votre aide
 

Pièces jointes

Re : Recherche sur bout de texte

Bonjour Samixite

un essai tout en couleur !

Code:
Sub essai()
Dim cel As Range

dernum = InputBox("4 derniers chiffres svp")

For Each cel In Range("c2:c100")
    If Right(cel.Value, 4) = dernum Then
  
        Range("A" & cel.Row & ":C" & cel.Row).Interior.ColorIndex = 3
  
    End If
 Next cel
 
End Sub

et le remise a zero


Code:
Sub raz()
Dim cel As Range

For Each cel In Range("c2:c100")
    If cel.Interior.colorindex = 3 Then
  
        Range("A" & cel.Row & ":C" & cel.Row).Interior.ColorIndex = -4142
  
    End If
 Next cel
End Sub
 
Dernière édition:
Re : Recherche sur bout de texte

dg62 à dit:
Bonjour Samixite

un essai tout en couleur !

Code:
Sub essai()
Dim cel As Range

dernum = InputBox("4 derniers chiffres svp")

For Each cel In Range("c2:c100")
    If Right(cel.Value, 4) = dernum Then
  
        Range("A" & cel.Row & ":C" & cel.Row).Interior.ColorIndex = 3
  
    End If
 Next cel
 
End Sub

et le remise a zero


Code:
Sub raz()
Dim cel As Range

For Each cel In Range("c2:c100")
    If cel.Interior.colorindex = 3 Then
  
        Range("A" & cel.Row & ":C" & cel.Row).Interior.ColorIndex = -4142
  
    End If
 Next cel
End Sub

Salut Dg62 et merci
Problème est que le tableau comporte plus de 1000 lignes et donc je ne vois pas toutes les lignes qui se colorent ( ou alors je dois utiliser l'ascenceur )
Je voudrais que seuls les lignes correspondantes à ma recherche s'affichent sans couleur

Merci encore en tout cas
 
Re : Recherche sur bout de texte

re

Code:
Sub essai()
Dim cel As Range
Dim i As Integer
Dim dernum As String
i = 0
dernum = InputBox("4 derniers chiffres svp")

For Each cel In Range("c2:c100")
    If Right(cel.Value, 4) = dernum Then
        i = i + 1
        Range("A" & cel.Row & ":C" & cel.Row).Copy
        Range("e" & i).PasteSpecial (xlPasteValues)
        
  
    End If
 Next cel
 
End Sub
 
Re : Recherche sur bout de texte

Merci dg62,

Tu vas me trouver chiant...mais plusieurs lignes peuvent correspondre à ma requête hors là il ne me montre que la première ligne correspondante
En gros je voudrais qu'il masque toutes les lignes ne correspondant pas à ma demande

Merci, Thank You et gracias
 
Re : Recherche sur bout de texte

Bonjour Samixite


si tu utilises la derniere macro fournie, elle t'affiche toutes les lignes correspondantes à ta recherche.

En gros je voudrais qu'il masque toutes les lignes ne correspondant pas à ma demande

ce n'était pas ton souhait initial !


Tu peux remplacer la ligne suivante :

For Each cel In Range("c2:c100")

par celle-ci :

For Each cel In Range("c2:c" & Range("C65536").End(xlUp).Row)

afin de ne pas être limité dans ta recherche.
 
Dernière édition:
Re : Recherche sur bout de texte

samixite à dit:
Merci dg62,

Tu vas me trouver chiant...mais plusieurs lignes peuvent correspondre à ma requête hors là il ne me montre que la première ligne correspondante
En gros je voudrais qu'il masque toutes les lignes ne correspondant pas à ma demande

Merci, Thank You et gracias
Salut
Autre proposition
PHP:
Sub Macro1()
Dim X As Long
Dim Str_Rep As String

Str_Rep = InputBox("4 derniers chiffres")
Cells.EntireRow.Hidden = False
If Len(Str_Rep) <> 4 Then
    MsgBox "Pas 4 chiffres, on arrête !!!"
    Exit Sub
End If

For X = 2 To Range("C65536").End(xlUp).Row
    If Right(Range("C" & X), 4) <> Str_Rep Then Rows(X).Hidden = True
Next X
End Sub
Pour réafficher, il suffit de ne pas mettre de chiffre dans la boîte
A+
 
Re : Recherche sur bout de texte

Gorfael à dit:
Salut
Autre proposition
PHP:
Sub Macro1()
Dim X As Long
Dim Str_Rep As String

Str_Rep = InputBox("4 derniers chiffres")
Cells.EntireRow.Hidden = False
If Len(Str_Rep) <> 4 Then
    MsgBox "Pas 4 chiffres, on arrête !!!"
    Exit Sub
End If

For X = 2 To Range("C65536").End(xlUp).Row
    If Right(Range("C" & X), 4) <> Str_Rep Then Rows(X).Hidden = True
Next X
End Sub
Pour réafficher, il suffit de ne pas mettre de chiffre dans la boîte
A+

Wahou !! C'est parfait
Par contre dès que le tableau comporte beaucoup de lignes il faut être patient
En tout cas merci à tous !!!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
345
Réponses
3
Affichages
569
Réponses
10
Affichages
907
Retour