Extraction de données texte d'une cellule

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

Fab117

XLDnaute Impliqué
Salut,
Dans la colonne D de mon tableau, j'ai plusieurs informations texte regroupés que je souhaite séparer.

P. ex. pour 2 cellules
"Blanc 25 °/30% humidité/8 jours"
"Rouge 25 °/30% humidité/17 jours"

Je voudrais mettre l'information couleur en L, la température en P, l'humidité en Q et la durée en R.
Je fais donc une boucle sur tout le tableau pour chacune de ces variables.
Le nombre de combinaison étant faible pour chaque variable, je souhaiterais quelque chose du type :

Dim DonneeBrute

For l = 1 To 200
DonneeBrute = Range("D" & k)
If DonneeBrute = "*blanc*" Then
Range("L" & k) = "blanc"
End If
If DonneeBrute = "*rouge*" Then
Range("L" & k) = "rouge"
End If
If DonneeBrute = "*bleu*" Then
Range("L" & k) = "bleu"
End If
Next l

Mais ça ne marche pas. Quelqu'un aurait-il une proposition svp.

Fab
 
Re : Extraction de données texte d'une cellule

sallut !

Pour decouper ton texte tu peux utiliser la fonction SPLIT dans le style

Dim a as variant
a=split(cells(x,y).value),"/") (puisque / semble etre un separateur

ensuite pour extraire chaque element (a est un tableau):
for x=1 to ubound(a)
msgbox a(x)
next x
 
Re : Extraction de données texte d'une cellule

Merci pour cette réponse hyper rapide.
Je vais l'essayer tout de suite. Mais je ne comprends pas la 2ème partie du code :
for x=1 to ubound(a)
msgbox a(x)
next x

ubound(a) signifie-t-il jusqu'à ce qu'il ne rencontre plus la variable a ? => jusqu'à une cellule vide ?



De plus, "/" n'est pas toujours le séparateur, parfois c'est un espace.

Fab
 
Re : Extraction de données texte d'une cellule

Pas exactement. On parle d'un tableau. On y trouve les valeur sous la forme :
a(1)="abc"
a(2)="def"
etc...
a(n)="fin"

C'est :

Pour x de 1 a la derniere valeur du tableau (soit a(n))
C'est l'equivalent de count dans les base de donnees si tu veux
 
- 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
4
Affichages
505
Réponses
7
Affichages
619
Réponses
3
Affichages
896
Retour