Incrementation
Résolu
aeki
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
Pitu Messages postés 1441 Date d'inscription Statut Contributeur Dernière intervention -
Pitu Messages postés 1441 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je finalise l'informatisation de mon process retour, pour cela j'ai repris sous excel ma fiche type de RETOUR FOURNISSEUR, seulement j'aimerais que dans ma case N° de RETOUR celui-ci s'incrémente automatiquement à chaque ouverture du fichier.
Le but ne pas avoir à le retaper avant chaque impression,
Merci d'avance pour votre aide!
Je finalise l'informatisation de mon process retour, pour cela j'ai repris sous excel ma fiche type de RETOUR FOURNISSEUR, seulement j'aimerais que dans ma case N° de RETOUR celui-ci s'incrémente automatiquement à chaque ouverture du fichier.
Le but ne pas avoir à le retaper avant chaque impression,
Merci d'avance pour votre aide!
11 réponses
Bonjour,
A chaque ouverture du fichier, tu es bien certain ?
Tu ne préfèrerais pas que ce soit lorsque tu cliques sur un bouton par exemple ?
Quoi qu'il en soit, les 2 sont possibles.
- A l'ouverture : Rajouter le code suivant dans ton workbook :
Private Sub Workbook_Open()
Range("A1").Value = Range("A1").Value + 1
End Sub
A adapter en remplaçant A1 par la cellule voulue
A chaque ouverture du fichier, tu es bien certain ?
Tu ne préfèrerais pas que ce soit lorsque tu cliques sur un bouton par exemple ?
Quoi qu'il en soit, les 2 sont possibles.
- A l'ouverture : Rajouter le code suivant dans ton workbook :
Private Sub Workbook_Open()
Range("A1").Value = Range("A1").Value + 1
End Sub
A adapter en remplaçant A1 par la cellule voulue
Le probleme pour moi va etre que je ne sais pas manipuler les MACRO ou meme la VBA.
Alors s'il y a une solution plus basique je suis preneur, sinon il me faudra trouver un tuto pour developper la solution avec une VBA, et/ou créer une macro!
Alors s'il y a une solution plus basique je suis preneur, sinon il me faudra trouver un tuto pour developper la solution avec une VBA, et/ou créer une macro!
Si je te guide de bout en bout, tu ne te sens pas de te lancer en VBA ?
(Très simple pour ton besoin, je t'assure)
(Très simple pour ton besoin, je t'assure)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ok,
Donc tu ouvres ta fiche type (retour fournisseur), et tu tapes [Alt] + [F11]
Une fenêtre Microsoft Visual Basic doit s'ouvrir.
Ok ?
Sur la gauche de cette fenêtre, tu vas trouver une arborescence avec notamment :
VBAProject (nom de ton classeur)
Dessous, tu vas avoir la liste des feuilles de ton classeur, ainsi que "ThisWorkbook"
Toujours ok ?
Alors, tu sélectionnes ThisWorkbook, et dans la fenêtre de droite, tu colles le code suivant :
Là où j'ai mis A1, tu remplaces juste par la cellule qui correspond au nombre que tu souhaites incrémenter
Toujours ok ?
Un petit [Ctrl] [s] pour sauvegarder, et tu peux fermer la fenêtre VB.
Tu me dis si c'est bon ?
Donc tu ouvres ta fiche type (retour fournisseur), et tu tapes [Alt] + [F11]
Une fenêtre Microsoft Visual Basic doit s'ouvrir.
Ok ?
Sur la gauche de cette fenêtre, tu vas trouver une arborescence avec notamment :
VBAProject (nom de ton classeur)
Dessous, tu vas avoir la liste des feuilles de ton classeur, ainsi que "ThisWorkbook"
Toujours ok ?
Alors, tu sélectionnes ThisWorkbook, et dans la fenêtre de droite, tu colles le code suivant :
Private Sub Workbook_Open() Range("A1").Value = Range("A1").Value + 1 End Sub
Là où j'ai mis A1, tu remplaces juste par la cellule qui correspond au nombre que tu souhaites incrémenter
Toujours ok ?
Un petit [Ctrl] [s] pour sauvegarder, et tu peux fermer la fenêtre VB.
Tu me dis si c'est bon ?
J'ai bien suivi ta procédure, j'ai bien sauvegarder dans le format excel prenant en compte les macros,
Et donc par contre je suis obligé de sauvegarder chaque bons et de réouvrir le dernier que j'aurais préparé pour en faire un nouveau.
Et donc par contre je suis obligé de sauvegarder chaque bons et de réouvrir le dernier que j'aurais préparé pour en faire un nouveau.
Exact !
Voila pourquoi je te posais initialement la question de savoir si tu ne préférais pas avoir un bouton qui, lorsque tu cliquerais dessus, incrémenterais automatiquement ton n°.
De toutes façons, à chaque fois que tu saisis un retour, tu es bien obligé d'enregistrer ta fiche, non ?
Si oui, au lieu de coder l'incrément automatique à l'ouverture (le "open" dans workbook_open), on peut le faire sur un clic sur un bouton que l'on ajouterait à ta feuille.
Malheureusement, à ma connaissance on ne peut coder d'action sur l'évènement "après enregistrement".
On pourrait en revanche le coder sur un "before_save".
C'est à dire que l'incrément serait fait juste lorsque tu sauvegardes ton fichier. Mais pendans ta saisie, le n° qui serait affiché ne correspondrait pas à ta fiche, ce serait celui de la fiche précédente.
Je ne suis pas certain d'avoir été très clair ...
Tu essayes de me dire ce que tu souhaiterais comme comportement parmi ceux que j'ai cités ?
Voila pourquoi je te posais initialement la question de savoir si tu ne préférais pas avoir un bouton qui, lorsque tu cliquerais dessus, incrémenterais automatiquement ton n°.
De toutes façons, à chaque fois que tu saisis un retour, tu es bien obligé d'enregistrer ta fiche, non ?
Si oui, au lieu de coder l'incrément automatique à l'ouverture (le "open" dans workbook_open), on peut le faire sur un clic sur un bouton que l'on ajouterait à ta feuille.
Malheureusement, à ma connaissance on ne peut coder d'action sur l'évènement "après enregistrement".
On pourrait en revanche le coder sur un "before_save".
C'est à dire que l'incrément serait fait juste lorsque tu sauvegardes ton fichier. Mais pendans ta saisie, le n° qui serait affiché ne correspondrait pas à ta fiche, ce serait celui de la fiche précédente.
Je ne suis pas certain d'avoir été très clair ...
Tu essayes de me dire ce que tu souhaiterais comme comportement parmi ceux que j'ai cités ?
Effectivement je vais préférer garder un historique de mes retours sur info (moins de risques d'égarement de mes données).
Par contre l'incrémentation ne se fait pas automatiquement je commence par avoir un avertissement sécurité me spécifiant que que mes macros sont désactivées, je l'active et là, l'incrémentation s'effectue.
Peut-on éviter cette contrainte, (certains des opérateurs risquent de ne pas s'en apercevoir) et la remplacer par une case sur laquelle on clicquera, (et que j'aurais colorer pour faciliter la compréhension du personnel).
Par contre l'incrémentation ne se fait pas automatiquement je commence par avoir un avertissement sécurité me spécifiant que que mes macros sont désactivées, je l'active et là, l'incrémentation s'effectue.
Peut-on éviter cette contrainte, (certains des opérateurs risquent de ne pas s'en apercevoir) et la remplacer par une case sur laquelle on clicquera, (et que j'aurais colorer pour faciliter la compréhension du personnel).
Pour le message d'avertissement, ce n'est pas si simple que cela.
Jette un oeil là-dessus : https://www.excel-downloads.com/threads/vba-activer-les-macros-automatiquement-sans-la-fenetre-dactivation.81054/
Ensuite, si tu veux créer 1 bouton sur lequel cliquer pour incrémenter ton n°, il faut :
- commencer par ajouter un bouton
- y joindre (copier/coller) le code que je t'ai passé pour l'incrément.
Eventuellement, tu peux me joindre ton fichier via un lien cjoint (www.cjoint.com).
Jette un oeil là-dessus : https://www.excel-downloads.com/threads/vba-activer-les-macros-automatiquement-sans-la-fenetre-dactivation.81054/
Ensuite, si tu veux créer 1 bouton sur lequel cliquer pour incrémenter ton n°, il faut :
- commencer par ajouter un bouton
- y joindre (copier/coller) le code que je t'ai passé pour l'incrément.
Eventuellement, tu peux me joindre ton fichier via un lien cjoint (www.cjoint.com).
Ok, merci pour ton guidage, je vais m'essayer à la mise en place d'un bouton.
Pourrais tu me dire ou je le trouverais ce bouton?
Un acces restreint à l'édition des bons de retours devrait me permettre de diminuer la possibilité d'erreur de manipulation.
Certains criteres de confidencialité de l'entreprise ne me permette pas de te joindre le fichier, mais je te remercie du temps que tu as pu consacrer au développement de mon process.
Pourrais tu me dire ou je le trouverais ce bouton?
Un acces restreint à l'édition des bons de retours devrait me permettre de diminuer la possibilité d'erreur de manipulation.
Certains criteres de confidencialité de l'entreprise ne me permette pas de te joindre le fichier, mais je te remercie du temps que tu as pu consacrer au développement de mon process.
Pour ajouter un bouton sur une feuille, tu dois déjà faire afficher la barre d'outils "contrôles" : Affichage --> Barre d'outils --> Boite à outils contrôles
Dans cette nouvelle barre d'outils, tu as un icône représentant un bouton : tu cliques dessus et ensuite tu viens dessiner un bouton sur ta feuille excel.
A gauche de cette barre d'outil, tu as un icône représentant une règle, une équerre et un crayon : ce bouton te permet d'activer/de désactiver le mode création
Mode activé : te permet de créer ou modifier des boutons, de leur affecter du code (en double-cliquant dessus)
Mode désactivé : te permet de tester (mode d'utilisation de ta feuille d'excel)
Dans cette nouvelle barre d'outils, tu as un icône représentant un bouton : tu cliques dessus et ensuite tu viens dessiner un bouton sur ta feuille excel.
A gauche de cette barre d'outil, tu as un icône représentant une règle, une équerre et un crayon : ce bouton te permet d'activer/de désactiver le mode création
Mode activé : te permet de créer ou modifier des boutons, de leur affecter du code (en double-cliquant dessus)
Mode désactivé : te permet de tester (mode d'utilisation de ta feuille d'excel)