[Excel] Recherche valeurs dans cellule [Résolu/Fermé]

Signaler
-
 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.

7 réponses

Messages postés
16173
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
14 juillet 2020
2 998
Bonjour

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 :)
C'est bon, j'ai réussi à résoudre le problème.
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 :)
Messages postés
16173
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
14 juillet 2020
2 998
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)
If UCase(liste(cptr_l, 1)) Like "*" & UCase(modeles(cptr_m)) & "*" Then
Messages postés
16173
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
14 juillet 2020
2 998
avec XL , tu peux utiliser la correction automatique qui rectifierait une faute mais tu as un travail de saisie assez pénible en vue...
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 :)
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 !
Messages postés
16173
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
14 juillet 2020
2 998
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.
Messages postés
16173
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
14 juillet 2020
2 998
Merci pour l'éfficacité !