Checkboxes et tableau et code erreur '1004'

quicktibong

XLDnaute Nouveau
Bonjour,

j'ai dans un fichier excel une mutitude de checkboxes (environ 200). J'ai besoin de récupérer la valeur de ces checkboxes dans un autre fichier excel. J'ai donc lié les deux fichiers.

Pour récupérer les valeurs des checkboxes (1 si elle est coché et un chiffre négatif aléatoire si elle ne l'est pas), j'utilise des tableaux.

Mais j'ai le code erreur suivant qui apparaît : Erreur d'exécution '1004', La méthode 'Checkboxes' de l'objet '_Worksheet' a échoué.
Lorsque je clique sur Débogage, il me pointe la ligne :
Code:
If FicheCh.CheckBoxes(TableauCheckbox(m)).Value = 1 Then
comme si il n'arrivait pas à renvoyer la valeur de la checkboxe...

Auriez vous une solution ?

Code:
Dim FicheChantier As Worksheet
Set FicheCh = ActiveWorkbook.Sheets("Fiche ch")
Dim DonnéesFC As Worksheet
Set DonnéesFC = ThisWorkbook.Sheets("Données fiches ch")

Dim m As Integer
m = 0

Dim Tableaulig
Tableaulig = Array(11, 13, 15, 16, 17)
    
Dim Tableaucol
Tableaucol = Array(4, 4, 4, 4, 5)

Dim TableauCheckbox
TableauCheckbox = Array(3, 4, 5, 6, 192, 177, 182, 181, 123)
' 3, 4, 5, 6, 192, 177, 182, 181 et 123 sont les numéros des checkboxes dont je veux récupérer la valeur

   For m = 4 To 8
            If FicheCh.CheckBoxes(TableauCheckbox(m)).Value = 1 Then
            DonnéesFC.Cells(l, j) = "Oui"
            j = j + 1
            DonnéesFC.Cells(l, j) = FicheCh.Cells(Tableaulig(k), Tableaucol(k))
        Else
            DonnéesFC.Cells(l, j) = "Non"
            j = j + 2
        End If
        k = k + 1
    Next m
 

youky(BJ)

XLDnaute Barbatruc
Re : Checkboxes et tableau et code erreur '1004'

Salut bien quicktibong,
La 1ère valeur d'un Array commence à zéro, je crois que cela viens de ça.
Essaie de mettre les double guillemets
TableauCheckbox = Array("", 3, 4, 5, 6, 192, 177, 182, 181, 123)
MsgBox TableauCheckbox(1)' renvoie 3

Bruno
 

quicktibong

XLDnaute Nouveau
Re : Checkboxes et tableau et code erreur '1004'

Bonjour Bruno,

merci pour ta réponse mais avec les guillemets, ça ne fait que décaler ma boucle For qui parcourra m de 5 à 9 au lieu de 4 à 8.
En fait, mon code fonctionne pour les 4 premières valeurs (3, 4, 5, 6) mais bug à partir de la 5ème valeur (m = 4) quand je lui demande de boucler pour les valeurs de m allant de 0 à 8.
 

quicktibong

XLDnaute Nouveau
Re : Checkboxes et tableau et code erreur '1004'

Non, quand je fait 'CTRL' + clic sur la box ça m'inscrit bien 'Case à cocher 192' dans l'encadré dédié aux noms des cellules.

J'ai également essayé de supprimé le 192 de ma boucle. Du coup, le numéro suivant est 177. Cela me fait la même erreur. J'ai aussi renommé ma Checkboxe et je fais appel à elle sous son nouveau nom et c'est toujours pareil.
 

quicktibong

XLDnaute Nouveau
Re : Checkboxes et tableau et code erreur '1004'

Alors là ... :confused:

Voici comment j'ai inséré mes cases à cocher :
Barre d'outil des formulaires, case à cocher.

Si tu veux, voici le principe de mon document :
- 1 fichier Excel avec une feuille que je vais faire remplir informatiquement par des personnes. Les gens auront du texte à rentrer dans certaines cases et des cases à cocher.
- 1 autre fichier excel qui sera mon fichier synthèse. J'importe dans celui là les données du premier fichier. Ce dont j'ai besoin, c'est écrire "oui" dans une cellule de ce fichier quand la case à cocher numéro "n" est cochée (par exemple).

Mais là où je suis perdue c'est que j'ai cette erreur qui s'affiche, mais que pour certaines cases ... Alors que je les ai toutes insérées de la même manière. Je pense avoir utilisé ce que tu appelles les cases à cocher en Formulaire.
 

youky(BJ)

XLDnaute Barbatruc
Re : Checkboxes et tableau et code erreur '1004'

RE
Mets ceci
If FicheCh.Shapes("Check Box " & TableauCheckbox(m)).ControlFormat.Value = xlOn Then
au lieu de
' If FicheCh.CheckBoxes(TableauCheckbox(m)).Value = 1 Then
Bruno
 
Dernière édition:

quicktibong

XLDnaute Nouveau
Re : Checkboxes et tableau et code erreur '1004'

Ah et bien parfait, ça marche ! :)

Par contre, est ce que tu pourrais m'expliquer la différence entre les cases à cocher en formulaire et les CheckBox en contrôle Active X ? Qu'est ce que ça change concrètement que j'utilise l'un ou l'autre ?

Et la syntaxe que tu viens de me donner marche juste pour les cases à cocher en formulaire alors ?

Je te remercie pour tout en tous cas !
 

youky(BJ)

XLDnaute Barbatruc
Re : Checkboxes et tableau et code erreur '1004'

Perso je mets que des Active X beaucoup plus simple d'utilisation et de code.
Exact la syntaxe ici est que pour les checkbox formulaire
Il est important de choisir mais n'en mettre qu'une seule sorte
Si tu as beaucoup de controles 1 seul chexkbox active x pourrait faire l'affaire
On le déplace dés selection de cellules voulues et on lui fait écrire oui ou non
Bruno
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 276
Messages
2 086 714
Membres
103 377
dernier inscrit
fredy45