Inserer une chaine dans un tableau
Résolu
eam
-
eam -
eam -
Bonjour à tous,
je suis débutant en VBA donc mon probleme sera peut etre simple (ou du moins je l'espère).
Je souhaiterai trouver faire une macro qui me permettrait de comparer chaque caractère se trouvant dans un emplacement precis d'une chaine de caractère (pris d'une cellule) a une valeur et compter le nombre de fois qu'elles sont égales.
j'avais pensé a convertir la chaine récupéré d'une cellule en un tableau et compter un à un les éléments, mais ça ne marche pas. Voici le code, si quelqu'un a une idée
Variables:
Nbcel 'nombre de lignes à traiter
c 'colonne
Chaine() as String 'tableaux
bout du programme
For I = 2 to nbcel
chaine=cells(i,c).Value
For J=1 to len(cells(i,c))-1
if chaine(j)=1 then
a=a+1
end if
j=j+6
next J
cells(i,c+1)=a
next i
je suis débutant en VBA donc mon probleme sera peut etre simple (ou du moins je l'espère).
Je souhaiterai trouver faire une macro qui me permettrait de comparer chaque caractère se trouvant dans un emplacement precis d'une chaine de caractère (pris d'une cellule) a une valeur et compter le nombre de fois qu'elles sont égales.
j'avais pensé a convertir la chaine récupéré d'une cellule en un tableau et compter un à un les éléments, mais ça ne marche pas. Voici le code, si quelqu'un a une idée
Variables:
Nbcel 'nombre de lignes à traiter
c 'colonne
Chaine() as String 'tableaux
bout du programme
For I = 2 to nbcel
chaine=cells(i,c).Value
For J=1 to len(cells(i,c))-1
if chaine(j)=1 then
a=a+1
end if
j=j+6
next J
cells(i,c+1)=a
next i
A voir également:
- Inserer une chaine dans un tableau
- Insérer une vidéo dans powerpoint - Guide
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
3 réponses
Merci de me répondre Yoda.
Pour exemple le voici:
Je récupère d'une cellule le texte suivant : 011000011101000100001111
Je souhaiterai qu'a partir du deuxieme caractère, compter l'occurence du caractère 1 tout les 7 caractères.
011000011101000100001111
La valeur que je recupère est donc 4, valeur que j'inscrirai dans une case precise
A savoir, une fois cette premiere boucle effectuer, je recommence et cette fois je commence a compter à partire du Troisième caractère, pui du quatrième, and so on
Voili voila
Pour exemple le voici:
Je récupère d'une cellule le texte suivant : 011000011101000100001111
Je souhaiterai qu'a partir du deuxieme caractère, compter l'occurence du caractère 1 tout les 7 caractères.
011000011101000100001111
La valeur que je recupère est donc 4, valeur que j'inscrirai dans une case precise
A savoir, une fois cette premiere boucle effectuer, je recommence et cette fois je commence a compter à partire du Troisième caractère, pui du quatrième, and so on
Voili voila
Bonjour,
Si j'ai bien saisi, cette procédure devrait marcher
A+.
Si j'ai bien saisi, cette procédure devrait marcher
Sub test() Dim chaine As String Dim carac As String Dim i As Integer, j As Integer Dim nbr As Integer 'nombre d'occurences 'exemple donné chaine = "011000011101000100001111" carac = "1" For i = 2 To Len(chaine) - 8 nbr = 0 For j = i To Len(chaine) Step 7 If Mid(chaine, j, 1) = carac Then nbr = nbr + 1 Next MsgBox "Nombre d'occurences du caractère 1 à partir de la " & i & "ème position = " & nbr Next End Sub
A+.
Pour exemple le voici:
Je récupère d'une cellule le texte suivant : 011000011101000100001111
Je souhaiterai qu'a partir du deuxieme caractère, compter l'occurence du caractère 1 tout les 7 caractères.
011000011101000100001111
La valeur que je recupère est donc 4, valeur que j'inscrirai dans une case precise
A savoir, une fois cette premiere boucle effectuée, je recommence et cette fois je commence a compter à partire du Troisième caractère, puis du quatrième, and so on
Voili voila