Ouverture d'une userform seulement à la première ouverture d'un fichier

Résolu
toushusss Messages postés 38 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 17 juin 2011 - 13 mai 2011 à 09:33
toushusss Messages postés 38 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 17 juin 2011 - 17 mai 2011 à 09:28
Bonjour,
Quelqu'un saurait comment faire en sorte q'une useform s'ouvre seulement à la première ouverture d'un fichier excel permettant ainsi la saisie des infos de parametrage d'un tableau. Exemple repporter les montants d'une année précédente et ainsi parametrer mon tableau à la premiére ouverture.
Merci

9 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
13 mai 2011 à 10:37
Salut

Dans un recoin de ton fichier Excel, tu stockes/mémorises que l'action a été faite (genre un 'x' dans une cellule d'une feuille masquée).
Quand tu ouvres le classeur, dans le Workbook_Open, tu vas relire la valeur de cette cellule et tu décides alors d'afficher ou pas cette UserForm.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
13 mai 2011 à 10:16
Bonjour,

Qu'entends-tu exactement par "première ouverture" ?
La toute première mise en route, et plus jamais ?
La première ouverture de la journée ?
Autre ?

Quoi qu'il en soit : le plus simple est tout bêtement de dédier une cellule vide à cela : à ta "première ouverture", quelle qu'elle soit, tu y mets, blanc sur blanc, un "drapeau" (un x, par exemple). Et tu n'ouvres ton userform que si pas de "x" dans cette cellule.
Voilà le principe, étant entendu qu'il te faudra le compléter un peu s'il s'agit de la première ouverture de la journée et non la "toute première" (comparaison de la date du jour avec celle de la dernière modification et remise à "" de ta cellule si date supérieure).
C'est simple.


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
toushusss Messages postés 38 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 17 juin 2011
13 mai 2011 à 10:32
Re, Il s'agit de la toute première ouverture du document ( pas celle de la journée, ni du mois ...)
Merci pour ta méthode,mais étant donné que je ne vais pas etre le seul à utiliser ce programme la methode de la cellule n'est pas pratique.Si il faut à chaque fois mettre un x par exemple dans la cellule pour que le message n'apparaisse pas ...
C'est plutot à titre d'exemple comme un message de bienvenue . Il apparait à la toute premiére ouverture. On renseigne les éléments demandés puis elle ne se réouvre plus.
Merci
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
13 mai 2011 à 10:38
Bien sûr, dans ta UserForm, il faudra prévoir l'écriture du 'x' dans la cellule pour mémoriser que les actions initiales ont déjà été faites.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
toushusss Messages postés 38 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 17 juin 2011
16 mai 2011 à 15:05
salut Jack ;
Je n'ai pas tout saisie dans ce que tu me réponds.
Dans le work Book j'ai saisie un code
If "A1" = "" then
Load Userform1
Showuserform1
End if


Mais cela ne marche pas le userform ne s'ouvre pas
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
16 mai 2011 à 15:17
Bonjour,
ça, c'est sûr : la chaîne de caractères "A1" n'est pas égale à la chaîne de caractères ""
Tu devrais par ailleurs regarder dans ton aide VBA l'utilisation de Show !
Bon ...
If Range("A1") = "" Then
  UserForm1.Show
End If

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
toushusss Messages postés 38 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 17 juin 2011
16 mai 2011 à 15:43
Salut. Merci pour le renseignement. J'avais oublié pour Range.
Par contre je viens de tester le code et toujours rien.
La userform ne s'ouvre pas au démarage ?....
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
16 mai 2011 à 16:54
Par contre je viens de tester le code et toujours rien.
La userform ne s'ouvre pas au démarage ?....

impossible de te répondre, sur la base de ce seul renseignement :
Dans le work Book j'ai saisie un code

Montre-nous l'intégralité de la procédure, de sa premère à sa dernière ligne, en nous précisant où tu l'as mise très exactement.


____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
toushusss Messages postés 38 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 17 juin 2011
17 mai 2011 à 09:28
Salut !
C'est bon j'ai trouvé. fallait juste que je change la combox en my workbook.
Merci pour l'aide
0
Rejoignez-nous