VBA, Je n'y arrive pas, je n'obtient pas de résultat

Tilous

XLDnaute Nouveau
Bonsoir,

Je bûche depuis un moment et je suis débutante alors j'ai besoin de votre aide afin de réussir à boucler sur des cases à cocher situé sur une feuille Excel et de vérifier si elle sont cochées...

J'ai un bouton de formulaire dans la feuille 1 qui débute le tout et le code est dans la feuille 1...

Voici mon code, mais ça ne fonctionne pas mes boites de messages qui me permettent de valider s'affiche mais vide...

Sub difference()
'Vérification des cases à cocher activées pour les deux périodes en mettant les résultats dans deux variables différentes selon la période.

Dim var
Dim var2
Dim i
Dim i2
Dim Compteur As Integer
Dim Compteur2 As Integer
Dim Obj As OLEObject

'Initialisation des variable pour incrémenter de 1 pour les noms des cases à cocher
i = 1
i2 = 1

'initialisation des compteurs pour qu'ils affichent les résultats
'les cases à cocher de la première période sont dans la colonne D et la deuxième dans colonne H et débute à la ligne 20
Compteur = 19
Compteur2 = 19

'boucle sur les objets de la Feuil1
For Each Obj In Me.OLEObjects
'verifie s'il s'agit d'un CheckBox
If TypeOf Obj.Object Is MSForms.CheckBox Then
' Vérification si provient de la première période située dans la colonne D car le nom des cases à cocher débute par chbox
If TypeName(Obj) Like ("chbox" & i) Then
i = i + 1
Compteur = Compteur + 1
'Vérification si la case est true
If Obj.Object.Value Then var = var & Me.Cells.Range("D" & Compteur).Value & ","
End If
' Vérification si provient de la deuxième période située dans la colonne H car le nom des cases à cocher débute par chbox2
If TypeName(Obj) Like ("chbox2" & i2) Then
i2 = i2 + 1
Compteur2 = Compteur2 + 1
'Vérification si la case est true
If Obj.Object.Value Then var2 = var2 & Me.Cells.Range("H" & Compteur2).Value & ","
End If
End If
Next Obj
'Affiche les résultat dans boites de message
MsgBox "code produits = " & var
MsgBox "code produits = " & var2
End Sub

Merci à la bonne âme charitable qui voudra bien m'aider...
 
Dernière édition:

ERIC S

XLDnaute Barbatruc
Re : VBA, Je n'y arrive pas, je n'obtient pas de résultat

Bonjour

avec un fichier ce serait mieux

sinon essaie de comprendre pourquoi var et var2 restent vides : tes tests doivent toujours être faux en insérant des messages pour récupérer les noms, juste avant les if

msgbox TypeName(Obj)

sinon déroule le code en pas à pas avec F8
 

Discussions similaires

Réponses
5
Affichages
191
Réponses
7
Affichages
352

Statistiques des forums

Discussions
312 238
Messages
2 086 491
Membres
103 234
dernier inscrit
matteo75654548