[Excel] Recherche valeurs dans cellule
Résolu
Kenshin
-
Kenshin -
Kenshin -
Bonjour,
J'aimerais créer un petit programme simple (avec des formules si possible) qui permettent de suggérer un nom (pioché dans un listing) en fonction des mots d'une cellule texte.
Je vous joint le fichier affin d'illustrer mes propos:
http://cjoint.com/?AKcjwq8tlLU
En gros sur ce fichier, je recherche à écrire le Nom de la voiture (en colonne D) en fonction du texte qui apparait dans la colonne C.
Si le modèle ou la marque n'apparait pas dans la colonne C, il apparait en D : Ce modèle n'est pas référencé.
J'espère avoir été assez clair.
Merci d'avance.
J'aimerais créer un petit programme simple (avec des formules si possible) qui permettent de suggérer un nom (pioché dans un listing) en fonction des mots d'une cellule texte.
Je vous joint le fichier affin d'illustrer mes propos:
http://cjoint.com/?AKcjwq8tlLU
En gros sur ce fichier, je recherche à écrire le Nom de la voiture (en colonne D) en fonction du texte qui apparait dans la colonne C.
Si le modèle ou la marque n'apparait pas dans la colonne C, il apparait en D : Ce modèle n'est pas référencé.
J'espère avoir été assez clair.
Merci d'avance.
A voir également:
- [Excel] Recherche valeurs dans cellule
- Excel cellule couleur si condition texte - Guide
- Liste déroulante excel - Guide
- Proteger cellule excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Word et excel gratuit - Guide
7 réponses
Bonjour
dans le forum programmation :langages de programmation...
maquette avec VBA
https://www.cjoint.com/?3KcmSKmu2SB
dans le forum programmation :langages de programmation...
maquette avec VBA
https://www.cjoint.com/?3KcmSKmu2SB
Merci beaucoup ! Ca fonctionne impec pour les valeurs déja rentrées.
Cependant, quand je rajoute des référence ou du texte en dessous de ce qui est déja rentré, en relançant la macro, les cellules ne changent pas en conséquent.
Y a t-il une manipulation particulière à adopter?
Merci :)
Cependant, quand je rajoute des référence ou du texte en dessous de ce qui est déja rentré, en relançant la macro, les cellules ne changent pas en conséquent.
Y a t-il une manipulation particulière à adopter?
Merci :)
mon problème est résolu, mais j'aimerais savoir si une amélioration est possible.
Est-il possible que la macro détecte grace au paramètre, la marque de la voiture même si une faute d'orthographe ou de frappe apparait dans la cellule.
exemple: Peugot au lieu de Peugeot.
Merci :)
Est-il possible que la macro détecte grace au paramètre, la marque de la voiture même si une faute d'orthographe ou de frappe apparait dans la cellule.
exemple: Peugot au lieu de Peugeot.
Merci :)
Ca me parait difficile peut-^tre en corrigeant à la saisie du texte ,genre correcteur d'orthographe mais cela suppose de créer un dico perso... mais je ne crois pas qu'il y ait cet outil sur XL...a voir
par contre, une petite amélioration pour l'absence ou trop de majuscules (j'avais saisi peugeot au lieu de Peugeot)
par contre, une petite amélioration pour l'absence ou trop de majuscules (j'avais saisi peugeot au lieu de Peugeot)
If UCase(liste(cptr_l, 1)) Like "*" & UCase(modeles(cptr_m)) & "*" Then
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ok je pense aussi que c'est assez complexe à mettre en place.
J'ai effectué la mise à jour pour les majuscule, c'est vrai que ça peut aider !
Merci beaucoup en tout cas :)
J'ai effectué la mise à jour pour les majuscule, c'est vrai que ça peut aider !
Merci beaucoup en tout cas :)
Je revient sur ce poste car je comprend pas un élément dans la macro.
J'aimerais adapter la macro à un tableau plus complexe (plus de colonnes etc..).
Aussi j'aimerais savoir, comment peut-on modifier la macro afin de décaler la colonne C (correspondant aux phrases) à la colonne D,E..... par exemple?
rappel de la macro :
Sub rechercher_si_valeur()
With Sheets("param")
derlig = .Range("B2500").End(xlUp).Row
modeles = Application.Transpose(.Range("B2:B" & derlig).Value)
End With
With Sheets(1)
derlig = .Range("C2").End(xlDown).Row
liste = .Range("C3:D" & derlig).Value
For cptr_l = 1 To UBound(liste)
For cptr_m = 1 To UBound(modeles)
If UCase(liste(cptr_l, 1)) Like "*" & UCase(modeles(cptr_m)) & "*" Then
liste(cptr_l, 2) = modeles(cptr_m)
Exit For
Else
liste(cptr_l, 2) = "non référencié"
End If
Next
Next
.Range("C3").Resize(UBound(liste), 2) = liste
End With
End Sub
Merci !
J'aimerais adapter la macro à un tableau plus complexe (plus de colonnes etc..).
Aussi j'aimerais savoir, comment peut-on modifier la macro afin de décaler la colonne C (correspondant aux phrases) à la colonne D,E..... par exemple?
rappel de la macro :
Sub rechercher_si_valeur()
With Sheets("param")
derlig = .Range("B2500").End(xlUp).Row
modeles = Application.Transpose(.Range("B2:B" & derlig).Value)
End With
With Sheets(1)
derlig = .Range("C2").End(xlDown).Row
liste = .Range("C3:D" & derlig).Value
For cptr_l = 1 To UBound(liste)
For cptr_m = 1 To UBound(modeles)
If UCase(liste(cptr_l, 1)) Like "*" & UCase(modeles(cptr_m)) & "*" Then
liste(cptr_l, 2) = modeles(cptr_m)
Exit For
Else
liste(cptr_l, 2) = "non référencié"
End If
Next
Next
.Range("C3").Resize(UBound(liste), 2) = liste
End With
End Sub
Merci !
merci beaucoup, j'ai compris ou changer les valeurs pour l'adapter à mon tableau !
Cependant, j'ai encore un autre souci (ça n'arrète jamais ^^)
La ou apparait la phrase avec le modèle de voiture (feuille 1, colonne C) j'ai mis une formule qui recherche dans un autre onglet ces phrases. En lançant la macro, celle-ci fonctionne mais les formules sont supprimées et seules les phrases restent.
Est-ce normal?
Merci.
Cependant, j'ai encore un autre souci (ça n'arrète jamais ^^)
La ou apparait la phrase avec le modèle de voiture (feuille 1, colonne C) j'ai mis une formule qui recherche dans un autre onglet ces phrases. En lançant la macro, celle-ci fonctionne mais les formules sont supprimées et seules les phrases restent.
Est-ce normal?
Merci.