Recherche d'une partie d'une cellule
Résolu/Fermé
Reizo
Messages postés
17
Date d'inscription
jeudi 17 janvier 2013
Statut
Membre
Dernière intervention
21 janvier 2013
-
18 janv. 2013 à 11:38
Reizo Messages postés 17 Date d'inscription jeudi 17 janvier 2013 Statut Membre Dernière intervention 21 janvier 2013 - 18 janv. 2013 à 16:23
Reizo Messages postés 17 Date d'inscription jeudi 17 janvier 2013 Statut Membre Dernière intervention 21 janvier 2013 - 18 janv. 2013 à 16:23
A voir également:
- Recherche d'une partie d'une cellule
- Comment faire une recherche à partir d'une photo - Guide
- Aller à la ligne dans une cellule excel - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Verrouiller une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
9 réponses
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
18 janv. 2013 à 11:51
18 janv. 2013 à 11:51
Bonjour,
Voir ma réponse sur ce poste
Voir aussi avec la fonction *Lyke*
A+
Voir ma réponse sur ce poste
Voir aussi avec la fonction *Lyke*
A+
Reizo
Messages postés
17
Date d'inscription
jeudi 17 janvier 2013
Statut
Membre
Dernière intervention
21 janvier 2013
18 janv. 2013 à 13:55
18 janv. 2013 à 13:55
Rebonjour,
En fait j'avoue que j'arrive pas vraiment à adapter ça à mon code bien que je comprenne le principe, si ça peut t'aider le voila (avec quelques commentaires) :
En fait j'avoue que j'arrive pas vraiment à adapter ça à mon code bien que je comprenne le principe, si ça peut t'aider le voila (avec quelques commentaires) :
Private Sub CommandButton1_Click() 'Ceci est juste la définition de la fonction de recherche, le nom importe peu Dim iR As Long 'iR est l'indice de ligne recherchée, cette variable change dans la première boucle (elle passe en revue les lignes de Donery de 2 à 30000 sur la quatrième colonne) Dim iAV As Long 'Ceci est la ligne dans laquelle le résultat de la recherche sera collé sur une nouvelle feuille Dim iL As Long 'iL est l'indice de la ligne utilisée pour la recherche, cette variable change dans la deuxieme boucle Dim L1 As Long 'L1 est la ligne jusqu'à laquelle la premiere boucle parcourt le tableau Dim L2 As Long 'L2 est la ligne jusqu'à laquelle la deuxieme boucle parcourt le tableau Dim R As Worksheet 'Définition de la variable R comme étant une feuille excel Dim AV As Worksheet 'Définition de la variable AV comme étant une feuille excel Set R = Worksheets("Donery") 'Feuille de l'entreprise Set AV = Worksheets("Feuil1") 'Nouvelle feuille Set EQ = Worksheets("Equivalences") 'Feuille d'où provient la donnée de recherche L1 = 18535 L2 = 310 iAV = 2 iL = 1 For iR = 2 To L1 For iL = 2 To L2 If R.Cells(iR, 4) = EQ.Cells(iL, 2) Then R.Range(iR & ":" & iR).Copy AV.Cells(iAV, 1) iAV = iAV + 1 End If Next Next End Sub
Reizo
Messages postés
17
Date d'inscription
jeudi 17 janvier 2013
Statut
Membre
Dernière intervention
21 janvier 2013
Modifié par Reizo le 18/01/2013 à 14:14
Modifié par Reizo le 18/01/2013 à 14:14
A la limite quelqu'un pourrait-il m'expliquer ce que fait ce bout de code exactement ?
R.Range("D2:D18535").AutoFilter Field:=1, Criteria1:="=*" & Mot & "*", _ Operator:=xlAnd
Reizo
Messages postés
17
Date d'inscription
jeudi 17 janvier 2013
Statut
Membre
Dernière intervention
21 janvier 2013
18 janv. 2013 à 14:40
18 janv. 2013 à 14:40
ça me parle plus d'utiliser la fonction "Like" mais je ne sais pas comment l'utiliser ici
" If R.Cells(iR, 4) = EQ.Cells(iL, 2) Then"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
18 janv. 2013 à 15:53
18 janv. 2013 à 15:53
La solution à ton problème est plutôt avec AutoFilter,
mais Mot est une variable que tu dois initialiser.
Par exemple Mot = "Truc"
Tu lance la macro et toute les lignes dont la cellule de la colonne D NE CONTIENT PAS Truc seront cachées.
Si tu à un titre en D1 ta plage doit commencer à D1:
En fait cette fonction emploi Lyke mais tout le code nécessaire est compris dedans.
A+
mais Mot est une variable que tu dois initialiser.
Par exemple Mot = "Truc"
Tu lance la macro et toute les lignes dont la cellule de la colonne D NE CONTIENT PAS Truc seront cachées.
Si tu à un titre en D1 ta plage doit commencer à D1:
En fait cette fonction emploi Lyke mais tout le code nécessaire est compris dedans.
A+
Reizo
Messages postés
17
Date d'inscription
jeudi 17 janvier 2013
Statut
Membre
Dernière intervention
21 janvier 2013
18 janv. 2013 à 15:55
18 janv. 2013 à 15:55
Merci de ton aide je vois ça :)
Reizo
Messages postés
17
Date d'inscription
jeudi 17 janvier 2013
Statut
Membre
Dernière intervention
21 janvier 2013
Modifié par Reizo le 18/01/2013 à 16:13
Modifié par Reizo le 18/01/2013 à 16:13
j'avais initialisé Mot comme ça :
Mot = EQ.Cells(iL, 7)
j'y arrive pas avec Autofilter même en regardant comment ça marche sur les docus excel et trucs comme ça
Mot = EQ.Cells(iL, 7)
j'y arrive pas avec Autofilter même en regardant comment ça marche sur les docus excel et trucs comme ça
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 18/01/2013 à 16:15
Modifié par lermite222 le 18/01/2013 à 16:15
Rectificatif :
C'est pas Lyke mais Like
Et si tu veux que la recherche ne tienne pas compte des minuscule/majuscule tu met en haut du module
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
C'est pas Lyke mais Like
Et si tu veux que la recherche ne tienne pas compte des minuscule/majuscule tu met en haut du module
Option Compare Text
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Reizo
Messages postés
17
Date d'inscription
jeudi 17 janvier 2013
Statut
Membre
Dernière intervention
21 janvier 2013
18 janv. 2013 à 16:23
18 janv. 2013 à 16:23
Oui ça je savais mais j'y arrive pas quand même, je crois que je vais rentrer chez moi et me prendre une bonne douche avant d'y repenser demain