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

Diviser des infos séparées par un "-" et inscrire un degré

  • Initiateur de la discussion Initiateur de la discussion zbig
  • 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 !

zbig

XLDnaute Occasionnel
Bonjour

Dans le fichier joint, il y a un tableau avec plusieurs colonnes

Dans les cellules de la colonne H , il peut avoir une à plusieurs infos séparées par un tiret "-".

JE souhaiterais lors du clic sur le bouton macro que la feuille résultats se vide puis se remplisse avec les infos ayant été alors séparées et dans al colonne I , un degré soit inscrit
Ex : athlétisme - volley ball - basket

athlétisme = degré 1
volley ball= degré 2
basket = degré 3

etc..

Quelqu'un aurait-il une idée?

merci
Zbig
 

Pièces jointes

Re : Diviser des infos séparées par un "-" et inscrire un degré

Merci bebere

il ne manque plus que la numérotation des degrés.

on verra si un colistie à la réponse à ce problème

encore merci
Zbig
 
Re : Diviser des infos séparées par un "-" et inscrire un degré

Bonjour bebere

merci pour ton aide.
Il y a un problème dans la numérotation des degrés.

dans l'exemple, Monsieur K P a 3 activités, donc cela entraine degré1; degré2 et degré3
puis Monsieur C X a 2 activités donc degré 1 et degré 2 et non degré 4 et degré 5.

La numérotation se fait pour chaque personne, et il est important que la 1ère activité nommée soit estampillée degré1, la 2e degré2 etc...

voilà, peux tu essayer de voir ce problème de n° ?
merci

zbig
 
Re : Diviser des infos séparées par un "-" et inscrire un degré

Bonjour zbig, Bebere et le Forum,

Une solution pas optimale trouvée rapidement au boulot (je ne connais pas encore l'objet Dictionary. J'espère que quelqu'un va trouver une solution plus adaptée.

Remplacer le Case 9 par :
Code:
Case 9
St = Tbl(i, 8)
If e <> i Then d = NbrTirets(St)
e = i
Max = NbrTirets(St)
If e = i Then
    d = d - 1
    Max = Max - d
 End If
.Cells(l, j) = "Degré " & Max

Fonction appelée
Code:
Function NbrTirets(St As String) As Integer
Dim k As Integer, Tirets As Integer
Tirets = 0
For k = 1 To Len(St)
    If Mid(St, k, 1) = "-" Then Tirets = Tirets + 1
Next k
NbrTirets = Tirets + 1
End Function
Enfin rajouter
Code:
Dim St As String, e As Integer
A+ Jack2

Edition , désolé, ça ne marche pas, une des valeurs "Volley Ball" n'est triée ou pas dans l'ordre
 
Dernière édition:
Re : Diviser des infos séparées par un "-" et inscrire un degré

Bonjour

n'ayant que 200 lignes maxi en feuille info, je ne vois pas la vitesse de la macro.
les 2 me conviennent.
Si tu peux ajouter les commentaires, et encore mieux 🙂 merci

est ce possible d'y insérer un quadrillage automatique? et le noms des champs de titres en ligne1?

merci
Zbig
 
- 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

Discussions similaires

Réponses
15
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…