Ouverture d'une userform seulement à la première ouverture d'un fichier [Résolu]

toushusss 38 Messages postés mardi 17 mars 2009Date d'inscription 17 juin 2011 Dernière intervention - 13 mai 2011 à 09:33 - Dernière réponse : toushusss 38 Messages postés mardi 17 mars 2009Date d'inscription 17 juin 2011 Dernière intervention
- 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
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 13 mai 2011 à 10:37
3
Merci
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)

Merci cs_Jack 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 85 internautes ce mois-ci

Commenter la réponse de cs_Jack
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 13 mai 2011 à 10:16
0
Merci
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
Commenter la réponse de ucfoutu
toushusss 38 Messages postés mardi 17 mars 2009Date d'inscription 17 juin 2011 Dernière intervention - 13 mai 2011 à 10:32
0
Merci
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
Commenter la réponse de toushusss
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 13 mai 2011 à 10:38
0
Merci
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.
Commenter la réponse de cs_Jack
toushusss 38 Messages postés mardi 17 mars 2009Date d'inscription 17 juin 2011 Dernière intervention - 16 mai 2011 à 15:05
0
Merci
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
Commenter la réponse de toushusss
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 16 mai 2011 à 15:17
0
Merci
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
Commenter la réponse de ucfoutu
toushusss 38 Messages postés mardi 17 mars 2009Date d'inscription 17 juin 2011 Dernière intervention - 16 mai 2011 à 15:43
0
Merci
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 ?....
Commenter la réponse de toushusss
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 16 mai 2011 à 16:54
0
Merci
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
Commenter la réponse de ucfoutu
toushusss 38 Messages postés mardi 17 mars 2009Date d'inscription 17 juin 2011 Dernière intervention - 17 mai 2011 à 09:28
0
Merci
Salut !
C'est bon j'ai trouvé. fallait juste que je change la combox en my workbook.
Merci pour l'aide
Commenter la réponse de toushusss

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.