Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

pb pour creer une reference article

  • Initiateur de la discussion Initiateur de la discussion asz
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

asz

Guest
Bonjour, j'ai un fichier excel (et oui!!), dans la colonne A j'ai que des libellés d'articles par exemple "routeur modem adsl bewan", je souhaiterai d'apres ce libellé, créer une cellule ou serait générée une référence de l'article (genre les 3 premiers caractères de chaque mot constituant le libellé : roumodadsbew).
Merci par avance
asz
 
Salut,

Si tu as toujours 4 mots avec 3 espaces, c'est pas bien difficile.
Au cas contraire, il faudrait que je réflechisse cinq minutes (lol).

Pourrais-tu préciser ?

Ândré.
 
merci de réagir si vite. Bien sûr pour compliquer la tâche, les libellés ne sont pas uniformes. C'est pour ça que pour pouvoir apres m'y retrouver dans les ref, je voudrai prendre les 3 premiers caracteres de chaque mot (ou valeur). Il y a des libellés ou figurent plus de 5 mots (8 maxi).
Par avance merci
asz
 
Bonjour Asz

Colle ce code dans un module de VBA, cette une fonction

Public Function ClefComposee(vCell As Range) As String
Dim I As Byte
Dim vclef As String
Dim var As String
var = ""
vclef = vCell
For I = 1 To Len(vclef) - Len(WorksheetFunction.Substitute(vclef, " ", "")) + 1
var = var & Mid(vclef, 1, 3)
vclef = Mid(vclef, InStr(1, vclef, " ") + 1, Len(vclef))
Next I
ClefComposee = var
End Function

Pour utiliser cette fonction dans la feuille active, en imaginant que le texte à codifié ce trouve en A1 = ClefComposee(A1).

Pour info, les function VBA se trouve dans la catégorie "personnalisées" dans la boîte de dialogue d'insertion des formules.

@+Jean-Marie
 
Merci ça fonctionne tres bien, mais comment fait on pour enlever les espaces et les virgules dans le résultat de la fonction.
Je sais que je suis embetant pour etre poli.
Merci par avance
asz
 
lorsque j'insere la ligne de fonction en remplacement de vclef = vCell , il me met un blanc dans la cellule. Donc j'utilise toujours le premier script envoyé par Jean marie. Le pb c'est que parfois il me double le caractere du 2 eme mot ou 3eme. c'est pas pareil pour chaque reference créée. Certaines sont ok et d'auters erronnées.
Sincères salutations
asz
 
Re...

Excuse j'ai fait une boulette en recopiant le code, je te le redonne en entier

Public Function ClefComposee(vCell As Range) As String
Dim I As Byte
Dim vclef As String
Dim var As String
var = ""
vclef =trim(WorksheetFunction.Substitute(vCell, ",", ""))
For I = 1 To Len(vclef) - Len(WorksheetFunction.Substitute(vclef, " ", "")) + 1
var = var & Mid(vclef, 1, 3)
vclef = Mid(vclef, InStr(1, vclef, " ") + 1, Len(vclef))
Next I
ClefComposee = var
End Function

@+Jean-Marie
 
coucou,

je préfère ma solution

Sub demo()
Dim Donnees

For i = 1 To Range("A1", [A65536].End(xlUp)).Rows.Count
Donnees = Split(Cells(i, 1).Value, " ")
j = 1
For j = 0 To UBound(Donnees)
Cells(i, 2).Value = Cells(i, 2).Value & Mid(Donnees(j), 1, 3)
Next j
Next i

End Sub


bien entendu peut facilement être transformée en fonction personnalisée.


bonne journée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…