[VBA]Faire correspondre chiffre avec mot

Résolu/Fermé
minidu56 - 29 juil. 2010 à 16:33
 minidu56 - 30 juil. 2010 à 12:10
Bonjour à tous,

j'ai un une colonne excel (nombre de ligne inconnues) contenant des cellules du type :

1,5,6,9

ou ces chiffre equivalent a des mots spécifiques

1=mot1
5=mot5
...

j'aimerai que dans la colonne d'a coté sécrive (après l'execution de la macro) des chose du genre mot1,mot5,mot6,mot9

J'ai voulut utiliser la fonction split mais je n'y arrive pas vraiment
pouvez vous m'aider?
merci d'vance
A voir également:

4 réponses

en fait j'ai trouver comment faire la correspondance a partir d'une chaine de carractère définie
Mais je ne sais pas récupérer la valeur de chauqe cellule pour la mettre en chaine de carractère.
Existe il un Moyen?
merci d'avance
0
Yoskopolite Messages postés 83 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 9 novembre 2012 8
29 juil. 2010 à 17:26
J'ai bien compris ce que tu veux faire, mais je ne vois pas trop le rapport avec le split de chaines...
Pourrais-tu poster un extrait du code, qu'on se fasse une idée ?
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
29 juil. 2010 à 18:39
Bonjour,
Sub Test()
Dim Lig As Long
Dim Col As Integer
    Col = 1 'pour la colonne A
    For Lig = 1 To Range("65535").End(xlUp).Row
        If Cells(Lig, Col) <> "" Then
            Cells(Lig, Col + 1) = "Mot" & Cells(Lig, Col)
        End If
    Next Lig
End Sub

A+
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
29 juil. 2010 à 18:48
Mais je suppose que ce n'est pas le résultat que tu veux, en lisant entre les lignes je pense que ce n'est pas Split que tu dois employer mais Array
Sub Test2()
Dim TB
Dim Lig As Long
Dim Col As Integer
    TB = Array(" ", "Voiture", "Auto", "Moto", "Vélo", "à Pieds", "Autocars")
    Col = 1 'pour la colonne A
    For Lig = 1 To Range("65535").End(xlUp).Row
            Cells(Lig, Col + 1) = TB(Val(Cells(Lig, Col)))
    Next Lig
End Sub


0
Waouh merci
J'avais essayer de faire une truc beaucoup plus compliquer mais ça c'est meiux et plus rapide.
Merci encore
Merci a tous
0