Problème de saisie de données sur un classeur.

aziz_alg80 Messages postés 383 Date d'inscription vendredi 12 février 2010 Statut Membre Dernière intervention 3 juin 2024 - Modifié le 30 mai 2024 à 19:12
aziz_alg80 Messages postés 383 Date d'inscription vendredi 12 février 2010 Statut Membre Dernière intervention 3 juin 2024 - 3 juin 2024 à 00:51

Bonjour tout le monde ;

J’ai un problème de saisie de données sur un classeur et voilà les détails

J’ai un classeur « Gestion.xlsm » qui comporte trois UserForm :

  1. Gestion : qui est en fait, le userform principal.
  2. Achats : Un userForm appelé par le biais du UserForm « Gestion ». A son déclenchement (INITIALIZE), il ouvre un classeur indépendant appelé « achats.xlsm ». Il comporte, entre autres un bouton « Ajouter » qui, à son tour, déclenche le 3ème UserForm.
  3. AJMO : Destiné à saisir les différentes données relatives au nouvel achat, (Ou ça ? sur le classeur indépendant appelé « achats »)

Le problème :

Le programme plante au niveau de l’étape de saisie de données sur le classeur « achats »

Code utilisé :

Workbooks("Achats.xlsm").Sheets("ACH").Range("A10") = TB1.Text

Workbooks("Achats.xlsm").Sheets("ACH").Range("B10") = TB2.Text

Workbooks("Achats.xlsm").Sheets("ACH").Range("C10") = TB3.Text

Autre essai : (Réalisé sans aucun problème)

Workbooks("Gestion.xlsm").Sheets("ACH").Range("A10") = TB1.Text

Workbooks("Gestion.xlsm").Sheets("ACH").Range("B10") = TB2.Text

Workbooks("Gestion.xlsm").Sheets("ACH").Range("C10") = TB3.Text

Conclusion :

Mon UserForm n’a pas accès à un classeur autre que celui dans lequel il est inséré.

Ma question :

Est-ce qu’il y a une possibilité de contourner ce problème ?

Remarque :

Tous mes UserForm sont au mode : ShowModal = True

Mes remerciements anticipés

A voir également:

2 réponses

eriiic Messages postés 24597 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 22 septembre 2024 7 235
31 mai 2024 à 23:50

Bonjour,

Sans fichiers de travail produisant l'erreur tu risques d'attendre un moment.
De plus tu ne dis rien du comportement. Message ???

J'ai quand même fait un test.
Depuis un Initialize() on peut écrire dans un autre fichier.
eric


0
aziz_alg80 Messages postés 383 Date d'inscription vendredi 12 février 2010 Statut Membre Dernière intervention 3 juin 2024 22
3 juin 2024 à 00:51

Bonsoir Daniel;

Bonsoir Eriiic

Je viens juste de régler le problème, et voici les détails

. En fait, dans mon classeur « ACHATS » il y a un tableau des différents achats, appelé ACH.

. Le formulaire « Achats » comporte une ListeBox (LB1) qui a pour propriété RowSource = ACH (c'est-à-dire que tout mes anciens achats sont représentés sur cette ListeBox.

. Et c’est lors de la saisie d’un nouvel achat que le problème apparaît (Impossible de continuer la saisie sur un tableau qui fait l’objet d’une source d’alimentation d'une listeBox.

La solution était de : Vider carrément cette LB1, saisir ce qu’il y a à saisir, et par la suite réalimenter cette LB1.

ACHATS.LB1.RowSource = ""

Workbooks("Achats.xlsm").Sheets("ACH").Range("A10") =TB1.Text

Workbooks("Achats.xlsm").Sheets("ACH").Range("B10") = TB2.Text

Workbooks("Achats.xlsm").Sheets("ACH").Range("C10") =TB3.Text

ACHATS.LB1.RowSource = "ACH!ACH"

Je vous remercie pour l'intérêt que vous avez accordé à mon problème.

0
danielc0 Messages postés 1158 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 28 septembre 2024 133
1 juin 2024 à 14:24

Bonjour,

Quel est le libellé et le numéro de l'erreur ? A tout hasard, TB1, TB2 et B3 font bien partie de AJMO ?

Daniel


0