Saisir dans une cellule avec une boite de dialogue
2 réponses
13Hubert
Re-bonjour...
Une nouvelle question pour ce matin...
Je cherche à automatiser un petit peu le changement d'année dans un fichier
excel...
Lors du changement d'année une macro est lancée par l'utilisateur pour
procéder entre autre au déplacement des valeurs depuis les tableaux de
l'année N vers les tableaux de l'année N-1.
Toutes mes feuilles (et elles sont nombreuses !) contiennent une cellule
indiquant l'année de gestion en cours au format texte.
Comment SVP, pourrais-je permettre à l'utilisateur de saisir la nouvelle
année dans une boite de dialogue, et que cette année vienne remplacer celle
existant dans mes feuilles ?
Je voudrais cela pour que cette action soit également applicable dans 2 ou 3
ans...
Je me creuse la cervelle pour trouver une astuce, mais je bute encore pas
mal...
Merci beaucoup à tous, j'espère m'être bien fait comprendre...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
El pequeno
Bonjour Hubert. Facile...enfin, c'est à ma portée... Pour rentrer ta valeur, tu peux créer un formulaire ( mais la ça se complique..) ou utiliser la fonction ImputBox, tu y récupére la date et tu l'applique à toutes les feuilles à l'aide d'une boucle ( en espérant que c'est toujours la meme cellule de chaque feuille qui comporte la date à modifier. Ca donne quelque chose comme cela ( à ecrire dans un module standart et réadapter si nécessaire ) :
Dim Message, Title, Default, MyValue ' Définit le message. Message = "Entrez la nouvelle date" Title = "saisie d'une nouvelle date" ' Définit le titre. Default = "test" ' Définition de la valeur par défaut, tu dois pouvoir y rentrer l'année en cour automatiquement, mais je ne me suis pas penché sur la question. ' Affiche le message, le titre et la valeur par défaut. MyValue = InputBox(Message, Title, ) 'Puis tu boucle : For Each onglet In ThisWorkbook.Worksheets 'ThisWorbook si c'est le classeur qui supporte la macro, sinon ActiveWorkbook onglet.Range("A1").Value = MyValue Next onglet
Et voila, comme disent tous les coiffeurs français dans les films Américains Range("A1") : "A1" à remplacer par la référence de la cellule qui contient la date à changer. Cordialement
Re-bonjour...
Une nouvelle question pour ce matin...
Je cherche à automatiser un petit peu le changement d'année dans un fichier excel... Lors du changement d'année une macro est lancée par l'utilisateur pour procéder entre autre au déplacement des valeurs depuis les tableaux de l'année N vers les tableaux de l'année N-1. Toutes mes feuilles (et elles sont nombreuses !) contiennent une cellule indiquant l'année de gestion en cours au format texte. Comment SVP, pourrais-je permettre à l'utilisateur de saisir la nouvelle année dans une boite de dialogue, et que cette année vienne remplacer celle existant dans mes feuilles ? Je voudrais cela pour que cette action soit également applicable dans 2 ou 3 ans...
Je me creuse la cervelle pour trouver une astuce, mais je bute encore pas mal...
Merci beaucoup à tous, j'espère m'être bien fait comprendre...
Hubert
-- ...from Marseille !
Bonjour Hubert.
Facile...enfin, c'est à ma portée...
Pour rentrer ta valeur, tu peux créer un formulaire ( mais la ça se
complique..)
ou utiliser la fonction ImputBox, tu y récupére la date et tu l'applique à
toutes les feuilles à l'aide d'une boucle ( en espérant que c'est toujours la
meme cellule de chaque feuille qui comporte la date à modifier. Ca donne
quelque chose comme cela ( à ecrire dans un module standart et réadapter si
nécessaire ) :
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez la nouvelle date"
Title = "saisie d'une nouvelle date" ' Définit le titre.
Default = "test"
' Définition de la valeur par défaut, tu dois pouvoir y rentrer l'année en
cour automatiquement, mais je ne me suis pas penché sur la question.
' Affiche le message, le titre et la valeur par défaut.
MyValue = InputBox(Message, Title, )
'Puis tu boucle :
For Each onglet In ThisWorkbook.Worksheets
'ThisWorbook si c'est le classeur qui supporte la macro, sinon ActiveWorkbook
onglet.Range("A1").Value = MyValue
Next onglet
Et voila, comme disent tous les coiffeurs français dans les films Américains
Range("A1") : "A1" à remplacer par la référence de la cellule qui contient
la date à changer.
Cordialement
Re-bonjour...
Une nouvelle question pour ce matin...
Je cherche à automatiser un petit peu le changement d'année dans un fichier
excel...
Lors du changement d'année une macro est lancée par l'utilisateur pour
procéder entre autre au déplacement des valeurs depuis les tableaux de
l'année N vers les tableaux de l'année N-1.
Toutes mes feuilles (et elles sont nombreuses !) contiennent une cellule
indiquant l'année de gestion en cours au format texte.
Comment SVP, pourrais-je permettre à l'utilisateur de saisir la nouvelle
année dans une boite de dialogue, et que cette année vienne remplacer celle
existant dans mes feuilles ?
Je voudrais cela pour que cette action soit également applicable dans 2 ou 3
ans...
Je me creuse la cervelle pour trouver une astuce, mais je bute encore pas
mal...
Merci beaucoup à tous, j'espère m'être bien fait comprendre...
Bonjour Hubert. Facile...enfin, c'est à ma portée... Pour rentrer ta valeur, tu peux créer un formulaire ( mais la ça se complique..) ou utiliser la fonction ImputBox, tu y récupére la date et tu l'applique à toutes les feuilles à l'aide d'une boucle ( en espérant que c'est toujours la meme cellule de chaque feuille qui comporte la date à modifier. Ca donne quelque chose comme cela ( à ecrire dans un module standart et réadapter si nécessaire ) :
Dim Message, Title, Default, MyValue ' Définit le message. Message = "Entrez la nouvelle date" Title = "saisie d'une nouvelle date" ' Définit le titre. Default = "test" ' Définition de la valeur par défaut, tu dois pouvoir y rentrer l'année en cour automatiquement, mais je ne me suis pas penché sur la question. ' Affiche le message, le titre et la valeur par défaut. MyValue = InputBox(Message, Title, ) 'Puis tu boucle : For Each onglet In ThisWorkbook.Worksheets 'ThisWorbook si c'est le classeur qui supporte la macro, sinon ActiveWorkbook onglet.Range("A1").Value = MyValue Next onglet
Et voila, comme disent tous les coiffeurs français dans les films Américains Range("A1") : "A1" à remplacer par la référence de la cellule qui contient la date à changer. Cordialement
Re-bonjour...
Une nouvelle question pour ce matin...
Je cherche à automatiser un petit peu le changement d'année dans un fichier excel... Lors du changement d'année une macro est lancée par l'utilisateur pour procéder entre autre au déplacement des valeurs depuis les tableaux de l'année N vers les tableaux de l'année N-1. Toutes mes feuilles (et elles sont nombreuses !) contiennent une cellule indiquant l'année de gestion en cours au format texte. Comment SVP, pourrais-je permettre à l'utilisateur de saisir la nouvelle année dans une boite de dialogue, et que cette année vienne remplacer celle existant dans mes feuilles ? Je voudrais cela pour que cette action soit également applicable dans 2 ou 3 ans...
Je me creuse la cervelle pour trouver une astuce, mais je bute encore pas mal...
Merci beaucoup à tous, j'espère m'être bien fait comprendre...
Hubert
-- ...from Marseille !
13Hubert
Bonjour El Pequeno
Merci, c'est ce que je cherchais.
Je me suis permis d'ajouter "Default" derriere "MyValue = InputBox(Message, Title, " car VB me signalait une erreur de compilation. En relisant ce que tu as écrit, je n'en ai compris que la moitié mais c'est ce qui me semblait le plus probable. Et ça fonctionne !
Merci beaucoup
Hubert -- ...from Marseille !
Bonjour Hubert. Facile...enfin, c'est à ma portée... Pour rentrer ta valeur, tu peux créer un formulaire ( mais la ça se complique..) ou utiliser la fonction ImputBox, tu y récupére la date et tu l'applique à toutes les feuilles à l'aide d'une boucle ( en espérant que c'est toujours la meme cellule de chaque feuille qui comporte la date à modifier. Ca donne quelque chose comme cela ( à ecrire dans un module standart et réadapter si nécessaire ) :
Dim Message, Title, Default, MyValue ' Définit le message. Message = "Entrez la nouvelle date" Title = "saisie d'une nouvelle date" ' Définit le titre. Default = "test" ' Définition de la valeur par défaut, tu dois pouvoir y rentrer l'année en cour automatiquement, mais je ne me suis pas penché sur la question. ' Affiche le message, le titre et la valeur par défaut. MyValue = InputBox(Message, Title, ) 'Puis tu boucle : For Each onglet In ThisWorkbook.Worksheets 'ThisWorbook si c'est le classeur qui supporte la macro, sinon ActiveWorkbook onglet.Range("A1").Value = MyValue Next onglet
Et voila, comme disent tous les coiffeurs français dans les films Américains Range("A1") : "A1" à remplacer par la référence de la cellule qui contient la date à changer. Cordialement
Re-bonjour...
Une nouvelle question pour ce matin...
Je cherche à automatiser un petit peu le changement d'année dans un fichier excel... Lors du changement d'année une macro est lancée par l'utilisateur pour procéder entre autre au déplacement des valeurs depuis les tableaux de l'année N vers les tableaux de l'année N-1. Toutes mes feuilles (et elles sont nombreuses !) contiennent une cellule indiquant l'année de gestion en cours au format texte. Comment SVP, pourrais-je permettre à l'utilisateur de saisir la nouvelle année dans une boite de dialogue, et que cette année vienne remplacer celle existant dans mes feuilles ? Je voudrais cela pour que cette action soit également applicable dans 2 ou 3 ans...
Je me creuse la cervelle pour trouver une astuce, mais je bute encore pas mal...
Merci beaucoup à tous, j'espère m'être bien fait comprendre...
Hubert
-- ...from Marseille !
Bonjour El Pequeno
Merci, c'est ce que je cherchais.
Je me suis permis d'ajouter "Default" derriere "MyValue = InputBox(Message,
Title, " car VB me signalait une erreur de compilation. En relisant ce que tu
as écrit, je n'en ai compris que la moitié mais c'est ce qui me semblait le
plus probable.
Et ça fonctionne !
Merci beaucoup
Hubert
--
...from Marseille !
Bonjour Hubert.
Facile...enfin, c'est à ma portée...
Pour rentrer ta valeur, tu peux créer un formulaire ( mais la ça se
complique..)
ou utiliser la fonction ImputBox, tu y récupére la date et tu l'applique à
toutes les feuilles à l'aide d'une boucle ( en espérant que c'est toujours la
meme cellule de chaque feuille qui comporte la date à modifier. Ca donne
quelque chose comme cela ( à ecrire dans un module standart et réadapter si
nécessaire ) :
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez la nouvelle date"
Title = "saisie d'une nouvelle date" ' Définit le titre.
Default = "test"
' Définition de la valeur par défaut, tu dois pouvoir y rentrer l'année en
cour automatiquement, mais je ne me suis pas penché sur la question.
' Affiche le message, le titre et la valeur par défaut.
MyValue = InputBox(Message, Title, )
'Puis tu boucle :
For Each onglet In ThisWorkbook.Worksheets
'ThisWorbook si c'est le classeur qui supporte la macro, sinon ActiveWorkbook
onglet.Range("A1").Value = MyValue
Next onglet
Et voila, comme disent tous les coiffeurs français dans les films Américains
Range("A1") : "A1" à remplacer par la référence de la cellule qui contient
la date à changer.
Cordialement
Re-bonjour...
Une nouvelle question pour ce matin...
Je cherche à automatiser un petit peu le changement d'année dans un fichier
excel...
Lors du changement d'année une macro est lancée par l'utilisateur pour
procéder entre autre au déplacement des valeurs depuis les tableaux de
l'année N vers les tableaux de l'année N-1.
Toutes mes feuilles (et elles sont nombreuses !) contiennent une cellule
indiquant l'année de gestion en cours au format texte.
Comment SVP, pourrais-je permettre à l'utilisateur de saisir la nouvelle
année dans une boite de dialogue, et que cette année vienne remplacer celle
existant dans mes feuilles ?
Je voudrais cela pour que cette action soit également applicable dans 2 ou 3
ans...
Je me creuse la cervelle pour trouver une astuce, mais je bute encore pas
mal...
Merci beaucoup à tous, j'espère m'être bien fait comprendre...
Je me suis permis d'ajouter "Default" derriere "MyValue = InputBox(Message, Title, " car VB me signalait une erreur de compilation. En relisant ce que tu as écrit, je n'en ai compris que la moitié mais c'est ce qui me semblait le plus probable. Et ça fonctionne !
Merci beaucoup
Hubert -- ...from Marseille !
Bonjour Hubert. Facile...enfin, c'est à ma portée... Pour rentrer ta valeur, tu peux créer un formulaire ( mais la ça se complique..) ou utiliser la fonction ImputBox, tu y récupére la date et tu l'applique à toutes les feuilles à l'aide d'une boucle ( en espérant que c'est toujours la meme cellule de chaque feuille qui comporte la date à modifier. Ca donne quelque chose comme cela ( à ecrire dans un module standart et réadapter si nécessaire ) :
Dim Message, Title, Default, MyValue ' Définit le message. Message = "Entrez la nouvelle date" Title = "saisie d'une nouvelle date" ' Définit le titre. Default = "test" ' Définition de la valeur par défaut, tu dois pouvoir y rentrer l'année en cour automatiquement, mais je ne me suis pas penché sur la question. ' Affiche le message, le titre et la valeur par défaut. MyValue = InputBox(Message, Title, ) 'Puis tu boucle : For Each onglet In ThisWorkbook.Worksheets 'ThisWorbook si c'est le classeur qui supporte la macro, sinon ActiveWorkbook onglet.Range("A1").Value = MyValue Next onglet
Et voila, comme disent tous les coiffeurs français dans les films Américains Range("A1") : "A1" à remplacer par la référence de la cellule qui contient la date à changer. Cordialement
Re-bonjour...
Une nouvelle question pour ce matin...
Je cherche à automatiser un petit peu le changement d'année dans un fichier excel... Lors du changement d'année une macro est lancée par l'utilisateur pour procéder entre autre au déplacement des valeurs depuis les tableaux de l'année N vers les tableaux de l'année N-1. Toutes mes feuilles (et elles sont nombreuses !) contiennent une cellule indiquant l'année de gestion en cours au format texte. Comment SVP, pourrais-je permettre à l'utilisateur de saisir la nouvelle année dans une boite de dialogue, et que cette année vienne remplacer celle existant dans mes feuilles ? Je voudrais cela pour que cette action soit également applicable dans 2 ou 3 ans...
Je me creuse la cervelle pour trouver une astuce, mais je bute encore pas mal...
Merci beaucoup à tous, j'espère m'être bien fait comprendre...