Lire une cellule avec plusieurs valeurs séparées par ";" [Résolu]

Messages postés
10
Date d'inscription
jeudi 3 juillet 2008
Statut
Membre
Dernière intervention
13 janvier 2009
- - Dernière réponse : piloulac
Messages postés
21
Date d'inscription
dimanche 10 juin 2007
Statut
Membre
Dernière intervention
28 décembre 2008
- 21 déc. 2008 à 00:00
Bonjour à tous,

Je suis en train de créer un formulaire sur Excel et pour des raisons pratiques, j'enregistre plusieurs valeurs de CheckBox dans une seule cellule.

Ex. simplifié :
Range("A1") = CheckBox1.Value & ";" & CheckBox2.Value

Mais je ne sais pas comment réattribuer ces valeurs enregistrées à chaque CheckBox quand je veux consulter mon formulaire avec mes données enregistrées.

J'espère que je suis assez clair

Auriez vous une idée de la manière de lire la cellule ?
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
578
Date d'inscription
vendredi 26 septembre 2008
Statut
Membre
Dernière intervention
20 novembre 2010
4
3
Merci
Bonjour Vampirelo

Option Base 0
...
Dim cellules() as String
cellules = Split(Range("A1").Value, ";")
CheckBox1.Value = cellules(0)
CheckBox2.Value = cellules(1)

Amicalement

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 185 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Orohena
Messages postés
10
Date d'inscription
jeudi 3 juillet 2008
Statut
Membre
Dernière intervention
13 janvier 2009
0
Merci
Ca marche impécable !
Merci beaucoup :)
Commenter la réponse de Vampirelo
Messages postés
21
Date d'inscription
dimanche 10 juin 2007
Statut
Membre
Dernière intervention
28 décembre 2008
0
Merci
Super cette fonction de Orohena


Pour récupérer plusieurs valeurs, séparés par un ";" :



''D'abord, une petite fonction(NbSousChaine) très commode permettant de compter des occurences de caractères dans une chaîne.



Function NbSousChaine(Chaine As String, Ch As String, Optional RC As Integer = 1) As Long
  NbSousChaine= (Len(Chaine) - Len(Replace(Chaine, Ch, "", , , RC))) / Len(Ch)
End Function

''Ensuite une adaptation du code de Orohena :

Sub lireplusieursdatas()
Dim cellules() As String
Dim Sous_Chaine, nb, i
nb = NbSousChaine(Range("A1").Text, ";")
cellules = Split(Range("A1").Value, Chr(59))
For i = 0 To nb
Sous_Chaine = cellules(i)
Next
End Sub
Commenter la réponse de piloulac