Ne mettre qu'une seule valeur dans une cellule

P

Pe1234

Guest
Bonjour à tous,

Etant débutante avec VBA, je vais essayer de résumer ce que je dois faire :

J'ai une colonne Pays : avec comme valeur dans chaque cellule: plusieurs pays séparés par des virgules (ex: France, Belgique)

ex:
Identifiant Pays
1 France, Belgique


1) Je voudrais mettre juste un pays dans chaque cellule : je l'ai fait avec la methode Split que je recopie ci-dessous et ça marche sur une ligne:

Cells(2, 2).Select
Cells(3, 2).Value = Split('France, Belgique', ',')(0)
Cells(4, 2).Value = Split('France, Belgique', ',')(1)
Cells(3, 1).Select
Cells(3, 1).Value = Cells(2, 1).Value
Cells(4, 1).Select
Cells(4, 1).Value = Cells(3, 1).Value


2) Maintenant, je veux le faire dans toutes les cellules de ma colonne 'pays', en tenant compte que les pays ne sont pas les mêmes dans chaque cellule, là il faut créer une variable :

a. Parcourir la cellule
b. Compter le nombre de mot (Pays) dans chaque cellule : je pense par exemple à compter le nombre des séparateurs, ce qui donne :
NOMBRE DE MOT = (NOMBRE DE SEPARATEUR + 1) pour me permettre d'appliquer la boucle FOR ou WHILE

Si vous avez une idée, ça serait cool!

Merci d'avance
Pe
 
P

Pe1234

Guest
C'est assez flou mon message donc je reexplique : J'ai une cellule contenant plusieurs valeurs séparées par des virgules

colonne 1 : identifiant
colonne 2: pays (valeur : france, belgique par exemple)


Je voudrai ne mettre qu'une seule valeur dans ma cellule, donc de créer autant de ligne que de nombre de valeurs pour pouvoir mettre une seule valeur, l'identifiant reste le même.

Si on reprend mon exemple, j'ai 2 valeurs dans ma cellule pays qui sont : France et Belgique.
>>Ceci doit me créer donc 2 lignes, la première va contenir une cellule pour stocker 'France' et la deuxième 'Belgique'.

Je voudrais savoir comment faire pour avoir le nombre de valeurs ou de mots dans une cellule me permettrant de faire ma boucle FOR ou WHILE. Le nombre ainsi trouvé va me créer le nombre de ligne que j'en aurai besoin pour stocker chaque valeur.

Encore merci
 
P

Pe1234

Guest
C'est assez flou mon message donc je reexplique : J'ai une cellule contenant plusieurs valeurs séparées par des virgules

colonne 1 : identifiant
colonne 2: pays (valeur : france, belgique par exemple)


Je voudrai ne mettre qu'une seule valeur dans ma cellule, donc de créer autant de ligne que de nombre de valeurs pour pouvoir mettre une seule valeur, l'identifiant reste le même.

Si on reprend mon exemple, j'ai 2 valeurs dans ma cellule pays qui sont : France et Belgique.
>>Ceci doit me créer donc 2 lignes, la première va contenir une cellule pour stocker 'France' et la deuxième 'Belgique'.

Je voudrais savoir comment faire pour avoir le nombre de valeurs ou de mots dans une cellule me permettrant de faire ma boucle FOR ou WHILE. Le nombre ainsi trouvé va me créer le nombre de ligne que j'en aurai besoin pour stocker chaque valeur.

Encore merci
 
P

Pe1234

Guest
Bonjour Gael

Et merci beaucoup pour ton aide, mais ça ne résoud pas mon problème. Mon fichier excel va me servir un fichier d'importation et la colonne 'Pays' correspond à un champ particulier de l'autre base de données, donc je voudrais la copie plutot en ligne et dans la mm colonne.

Merci
 

Discussions similaires

Réponses
0
Affichages
154

Statistiques des forums

Discussions
312 273
Messages
2 086 701
Membres
103 373
dernier inscrit
Edouard007