[Excel] Recherche multiple dans une cellule
Résolu/Fermé
A voir également:
- [Excel] Recherche multiple dans une cellule
- Aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
- Excel cellule choix multiple - Guide
- Proteger cellule excel - Guide
- Déplacer une colonne excel - Guide
4 réponses
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
2 avril 2012 à 09:29
2 avril 2012 à 09:29
Bonjour,
Ça me rajeunit un peu cette macro ! :o)
dans ce que tu veux, on ne travaillerait plus que sur 1 seule cellule ?
Ça me rajeunit un peu cette macro ! :o)
dans ce que tu veux, on ne travaillerait plus que sur 1 seule cellule ?
Alors, oui en fait on a toujours une seule cellule "source", par contre on a plusieurs cellules de sorties. (autant de cellule que de modèles trouvés).
Voila :)
Voila :)
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
2 avril 2012 à 10:23
2 avril 2012 à 10:23
OK, je regarde mais soit patient
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
2 avril 2012 à 11:29
2 avril 2012 à 11:29
Re,
la macro extrait les N mots de la sélection de la cellule active
la macro extrait les N mots de la sélection de la cellule active
Option Explicit Sub extraire_mots() Dim Col As Integer, Lig As Long, Texto As String Dim T_mots(), derlig As Byte, cptr As Byte 'Initialisations Application.ScreenUpdating = False With ActiveCell texto = UCase(ActiveCell) Col = .Column + 1 Lig = .Row End With Range(Cells(Lig, Col), Cells(Lig + 10, Col)).Clear 'collecte des mots sélectionnés With Sheets("param") derlig = .Range("B250").End(xlUp).Row T_mots = Application.Transpose(.Range("B2:B" & derlig).Value) End With 'extraction des mots For cptr = 1 To UBound(T_mots) If texto Like "*" & UCase(T_mots(cptr)) & "*" Then With Cells(Lig, Col) .Value = T_mots(cptr) .Borders.Weight = xlThin End With Lig = Lig + 1 End If Next End Sub
Merci beaucoup, ça fonctionne comme je l'espérais !
Je te tiens au courant si j'ai un souci avec :)
Je te tiens au courant si j'ai un souci avec :)
Après quelques temps d'utilisation, je viens de constater que la macro plante si l'onglet param dépasse les 256 modèles. J'ai tenté d'augmenter le nombre max de valeurs dans la macro:
derlig = .Range("B250").End(xlUp).Row > passage à 260 par exemple
mais ça ne fonctionne pas. Y a t-il un autre paramètre à changer? :)
derlig = .Range("B250").End(xlUp).Row > passage à 260 par exemple
mais ça ne fonctionne pas. Y a t-il un autre paramètre à changer? :)
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
Modifié par michel_m le 2/04/2012 à 16:08
Modifié par michel_m le 2/04/2012 à 16:08
Il faut simplement modifier les types des variables
en espèrant que...
Dim Col As Integer, Lig As Long, Texto As String Dim T_mots(), derlig As Integer, cptr As Integer 'Initialisations Application.ScreenUpdating = False With ActiveCell Texto = UCase(ActiveCell) Col = .Column + 1 Lig = .Row End With Range(Cells(Lig, Col), Cells(Lig + 10, Col)).Clear 'collecte des mots sélectionnés With Sheets("param") derlig = .Range("B10000").End(xlUp).Row
en espèrant que...