Formulaire de saisie VBA qui fait fermer Excel

bonjour

j'ai un formulaire de saisie en VBA pour remplir un tableau de données de presque 70 colonnes qui fonctionnait enfin correctement. Mais depuis peu dès que j'essaie de rappeler des données dans le formulaire excel se ferme automatiquement. Je n'ai rien changé à mon formulaire, ni à mon tableau, ni au code.... pourquoi cela fait cela ?

Est-ce que quelqu'un peut m'aider?

Merci d'avance

Bonjour

....excel se ferme automatiquement. Je n'ai rien changé à mon formulaire, ni à mon tableau, ni au code.... pourquoi cela fait cela

bah c'est que vous avez fait quelque chose sans vous en rendre compte

Sans voir le fichier (sans données confidentielles), impossible de vous en dire plus à ce stade

Crdlt

Je vais nettoyer mon fichier des données confidentielles et le poster
mais je vous assure ne rien avoir modifié

Re

Comment rappelez-vous vos données ?

je viens de mettre le fichier, le beug se produit quand j'ouvre mon formulaire et que je clique sur un nom dans la combo pour pouvoir charger les information contenu dans mon tableau dans le formulaire afin de modifier ou de compléter ces informations

re
1. Vous avez deux formulaires identiques apparemment. Lequel utilisez vous ?

2. De quelle combo parlez-vous ?

3. Est-ce que dans votre feuille Base CDO, vous avez des données sur les 351 lignes ?

j'utilise le formulaire FrmCDO

je parle de la combo "Nom prénom de l'élève"

et sur le tableau base CDO j'aurai à terme quasiment 900 lignes, j'en ai enregistré que 390 pour l'instant

et sur le tableau base CDO j'aurai à terme quasiment 900 lignes, j'en ai enregistré que 390 pour l'instant

Ok le principal est de ne jamais avoir de lignes sans données dans un tableau dit au format structuré? Raison de ma question par rapport à votre fichier


Faites l'essai suivant

1. Allez au code Private Sub cboNom_Change() et désactivez-le
2. Allez au code Private Sub cboNom_Click() et remplacez le mot CLICK par CHANGE puis modifiez comme ci-après

3. Après juste en dessous de cette ligne renommée en Private Sub cboNom_Change() mettez ceci

    Dim nom As String
    Dim LigneExistante As Range

    ' définir la variable
    nom = UCase(Me.cboNom.Value)

    If cboNom = Empty Then i_tbl = 0: btnEffacer_Click: Exit Sub

j'ai fait le changement et cela a l'air de fonctionner, merci beaucoup
maintenant pourquoi cela c'est mis à beuguer alors que jusqu'à présent je n'avais pas de souci

maintenant pourquoi cela c'est mis à beuguer alors que jusqu'à présent je n'avais pas de souci

Parce que le code click relançait chaque fois le code Change se relançait à chaque fois que vous passiez sur l'instruction --> cboNom = UCase(cboNom)

Du coup à un moment, le message d'erreur faisait référence à un souci Mémoire ....espace pile insuffisant

Vous pouvez voir cela en mettant un point d'arrêt sur votre ancien code Change puis faire du pas à pas dans l'exécution.
Vous verrez qu'après la sélection du nom le code passe du code click au Change à chaque fois sans arrêter

Si terminé pensez à cloturer le fil

merci beaucoup

Rechercher des sujets similaires à "formulaire saisie vba qui fait fermer"