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

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 !

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:
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
 
- 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
37
Affichages
799
Réponses
4
Affichages
589
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
733
Réponses
3
Affichages
317
Retour