Erreur d'execution

Bonjour,

je travail sur un projet pour mon université et j'ai du mal à aboutir à la fin

Après avoir créer les tableaux et mis en place les formules j'ai un problème d'erreur d’exécution lors de l’exécution du questionnaire et je ne sais pas d'où le problème peut parvenir.

J'aurai vraiment besoin d'aide sur ce coup la merci.

cordialement

ci joint mon travail

Bonsoir,

Dans le Private Sub UserForm_Initialize() les Controls indiqués n'existent pas :

Set TBoxQ1(x).TBoxQ1 = Controls("txtQuest1_" & x)

Set TBoxQ2(x).TBoxQ2 = Controls("txtQuest2_" & x)

Set TBoxQ3(x).TBoxQ3 = Controls("txtQuest3_" & x)

Set TBoxQ4(x).TBoxQ4 = Controls("txtQuest4_" & x)

Set TBoxQ5(x).TBoxQ5 = Controls("txtQuest5_" & x)

Set TBoxQ6(x).TBoxQ6 = Controls("txtQuest6_" & x)

idem dans la :

Private Sub CommandButton1_Click()

A+

merci galopin mais la j'ai du mal arranger ça même en me montrant où est le problème je retombe toujours sur mon erreur d'execution pourrait tu m'aider stp ?

cordialement

Bonsoir

Comme je n'ai pas compris comment tu gères les contrôles, je l'ai refait en utilisant une méthode que j'arrive juste à comprendre (heureusement que les archives existent)

Tu en fais ce que tu veux

Pour moi cela a été juste un exercice de style

Bonsoir,

Je n'ai pas trop analysé le truc mais ton formulaire ne comporte aucun TextBox qui s'appelle

txtQuest2_...

txtQuest3_...

Donc tu ne peux pas initialiser quelque chose qui n'existe pas...

Dans le premiere frame il y en a bien quelques-uns qui s'appellent

txtQuest1_1

txtQuest1_2

txtQuest1_3

C'est peut-être de là que viens le qui-proquo. Mébon de toute façon à mon avis ça ne solutionnera sans doute pas ton problème.

Désolé cette histoire ne me dit rien qui vaille... Je me retire donc sur la pointe des pieds !

A+

merci beaucoup pour ton aide banzai tu me sauve un peu la vie sur ce coup

la par contre sans vouloir trop abuser de ta gentillesse comment je

pourrai faire pour que dans ton programme : quand je remplis le

questionnaire et que je laisse une case vide ça ne me mette pas de 0 a la

place parce que sinon ça foire tout les formules excel que j'ai mis en

place après ; et aussi de me remettre un nouveau questionnaire quand je le

ferme pour ne pas avoir à devoir supprimer les chiffres un par un ça serait

plus simple

je te remercie encore en tout cas

cordialement

Bonsoir

Pour éviter un 0 lors d'un textbox vide le plus simple est de tester si ce textbox contient quelque chose

la macro pourrait ressembler à ça

    Private Sub CommandButton1_Click() 'Bouton "Valider"
    Dim I As Integer, Groupe As Integer, Place As Integer, Colonne As Integer
    Dim Ligne As Long

      With Sheets("Feuil1")
        For I = 0 To 50
        If Me.Controls("TextBox" & I + 1) <> "" Then
            ' Le groupe
           Groupe = I \ 9                ' On obtient 0 à 4
           ' la place dans le groupe
           Place = I - Groupe * 9        ' On obtient 0 à 8
           ' Ligne depart du groupe
           Ligne = 6 + (Groupe * 9)
            ' Offset pour la place
           Ligne = Ligne + Place \ 3     ' Place \ 3   ==> 0 à 2
           ' La colonne
           Colonne = 2 + Place Mod 3     ' Place Mod 3 ==> 0 à 2
           .Cells(Ligne, Colonne) = Val(Me.Controls("TextBox" & I + 1))
          End If
        Next I
      End With
    End Sub
simo_c18 a écrit :

et aussi de me remettre un nouveau questionnaire quand je le

ferme pour ne pas avoir à devoir supprimer les chiffres un par un ça serait

plus simple

Je n'ai pas trop compris cette question

Si tu ne veux pas avoir les chiffres que je place (pour tester) enlèves cette ligne dans la macro "UserForm_Initialize"

Ctrl = Val(Mid(Ctrl.Name, 8))               ' Juste pour initialiser les TextBox

Si tu veux effacer les textbox une fois sur la feuille tu peux soit faire une boucle de 1 à 51 ou alors les effacer juste après leur écriture dans la feuille

            Colonne = 2 + Place Mod 3     ' Place Mod 3 ==> 0 à 2
           .Cells(Ligne, Colonne) = Val(Me.Controls("TextBox" & I + 1))
          [surligner=#BFFFFF]Me.Controls("TextBox" & I + 1) = ""
          End If
        Next I
      End With
    End Sub

ben pour ma deuxième question c'était pour savoir si c'était possible de remettre à zéro le questionnaire c'est à dire un questionnaire vide à remplir à chaque fois après chaque essai,

merci

Bonjour

Le questionnaire c'est l'userform, donc je t'ai répondu

Rajoutes la ligne (surlignée en bleu), et une fois que tu as validé, les textbox seront vidés

merci

Rechercher des sujets similaires à "erreur execution"