Macro numérotation excel

Résolu/Fermé
biggies Messages postés 6 Date d'inscription vendredi 4 décembre 2009 Statut Membre Dernière intervention 3 janvier 2010 - 4 déc. 2009 à 04:31
biggies Messages postés 6 Date d'inscription vendredi 4 décembre 2009 Statut Membre Dernière intervention 3 janvier 2010 - 16 déc. 2009 à 22:01
Bonjour à tous,

J'aurais besoin de l'aide d'un connaisseur en macro excel...

Voici ce que j'aimerais réaliser:

Dans un classeur excel j'aimerais qu'à l'aide d'un bouton je puisse obtenir un numéro de facture (ex: 710110)

Cependant sur la même feuille j'aimerais créer plusieurs boutons qui pourraient me créer chacun un numéro. Qui suit le numéro du précédent.

Pour être plus clair : ex: en A1 j'appuie sur bouton et ça me donne 710110 (ce numéro s'inscrit en B1)
en A2 j'appuie sur bouton et ça me donne 710111 (ce numéro s'inscrit en B2)
en A3 j'appuie sur bouton et ça me donne 710112 (ce numéro s'inscrit en B3)

,etc....

Si quelqu'un pourrait me donner la macro complète, car je ne m'y connait pas en macro...

Ce serait ggggrannndddemeent apprécié!!!!!

P.S. En passant si quelqu'un pourrait me donner aussi une macro pour ouvrir une feuille PDF dans un classeur excel... Si ça existe....

Merci à l'avance pour votre aide!!!
A voir également:

19 réponses

eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 257
4 déc. 2009 à 06:57
Bonjour,

Pourquoi plusieurs, un seul ne suffit pas ?
Ex : Classeur1.xls
Si ça ne convient pas précise ton besoin...

eric
0
Merci Eric pour ta réponse!!

C'est quasiment ce que je veux...

Effectivement un seul bouton peut suffir.

Cependant lorsque j'ouvre mon classeur, celui-ci doit pouvoir garder en mémoire le dernier numéro qui a été écrit lors de la dernière ouverture. Le classeur doit être vide et lorsque j'appuierais sur le bouton le numéro suivant apparaitrait.

Ex: Dans ton classeur ton dernier numéro est 710114.
Donc lors de la prochaine ouverture, le classeur est vide.
Lorsque j'appuie sur le bouton, 710115 doit apparaitre dans la première case

P.S. Ce classeur devra pouvoir être partagé donc si mon collègue appuie sur le bouton après moi 710116 devra apparaitre.

J'espère que c'est assez clair et que tu pourras m'éclaircir.

Merci énormément!!!
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 257
4 déc. 2009 à 19:21
Est-ce que tu attribues systématiquement 3 n° de facture ou est-ce que ça peut varier ?
0
Ça peut varier... Des fois j'ai seulement qu'un numéro....des fois je peux en avoir 10

Merci!
0

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

Posez votre question
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 257
4 déc. 2009 à 21:29
Comme vous devez vous partager les numéros et que vous êtes susceptibles d'en ajouter en cours de route il faut sauvegarder le dernier utilisé dans un fichier annexe.
Il s'appelle NumFacture.txt et en cas de modification il faut l'éditer avec le bloc-note et saisir uniquement (et rien d'autre) le dernier numéro utilisé. Il doit se trouver dans le même répertoire que le fichier xls

[http://www.cijoint.fr/cjlink.php?file=cj200912/cijkoWTIhs.zip NumFacture.zip

eric
0
Éric, t'es un vrai pro!!! C'est parfait comme ça!!!

Sans vouloir abuser, est-ce que tu sais s'il existe une macro pouvant ouvrir un fichier pdf mais dans un classeur excel???

Merci énormément pour ton aide!!!! tu fais ma semaine!!! :-))))))
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 257
5 déc. 2009 à 00:12
Ouvrir ou insérer ?
Ouvrir j'ai du mal à l'imaginer, insérer peut-être en macro (?)
Le plus simple est que tu le convertisses en jpg et que tu insères l'image. En cherchant un peu tu trouveras peut-être un logiciel gratuit pour le faire sinon tu as une méthode ici

Sinon petit oubli pour NumFacture.xls, jette un oeil sur le code (feuille et thisworkbook) et remplace
[B65536].End(xlUp).Offset(1, 0).Offset(0, 1).Select
par
Worksheets("Feuil1").[B65536].End(xlUp).Offset(1, 0).Offset(0, 1).Select
(et pareil pour la ligne suivante)
en mettant le nom de ta feuille, sinon tu risques d'avoir des surprises si tu ouvres le fichier avec une autre feuille d'activée
0
Salut Éric, je ne suis pas trop sûr de bien comprendre pourrais-tu m'éclaircir stp...je ne voudrais pas "scrapper" tout le travail que tu as faits...

Si j'ai bien compris, je dois remplacé

[B65536].End(xlUp).Offset(1, 0).Offset(0, 1).Select
par
Worksheets("Feuil1").[B65536].End(xlUp).Offset(1, 0).Offset(0, 1).Select

Jusque là ça va.

Mais lorsque tu dis:
(et pareil pour la ligne suivante)

Que dois-je faire??? Mettre une autre fois le code suivant??

Worksheets("Feuil1").[B65536].End(xlUp).Offset(1, 0).Offset(0, 1).Select

Aussi quand tu dis de mettre le nom de ma feuille tu veux sûrement dire:

Exemple: le nom de ma feuille s'appelle Facture donc je dois remplacé Feuil1 par Facture

C'est bien cela??

Dois-je remplacé chaque fois que c'est écrit Feuil1 par Facture???

Merci de m'éclaicir!!!
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 257
5 déc. 2009 à 13:07
Bonjour,

Je viens de recontrôler car je l'avais fait de mémoire, en fait dans le code de Feuil1 ce n'est pas absolument nécessaire car vu que tu appelles la procédure par un bouton, cette feuille sera obligatoirement active.
Par contre dans le code de thisworkbook il faut adapter :
Worksheets("Nom_de_ta_feuille").[B2] = CLng(i) + 1

eric
0
Bonjour,

j'ai essayé de transférer ta macro dans un autre classeur mais ça ne fonctionne pas...

Voici ce que j'ai fait (peut-être ai-je fait une erreur de manipulation)

J'ai copié tes fichiers NumFacture.xls et NumFacture txt

J'ai créer un nouveau dossier dans lequel j'ai coller tes fichiers.

Ensuite j'ai créer une Facture bidon avec une nouvelle feuille excel que j'ai appelé NumFacture2

C'est à partir de là que j'suis un peu perdu....

Comment faire pour copier tes macros dans une autre feuille excel sans que je sois obligé de laisser ton

NumFacture ouvert???

à part changer "Feuil1" dans this workbook par "NumFacture2" , dois-je faire d'autres modifications????

Merci pour ton aide et désolé pour mon ignorance!!
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 257
5 déc. 2009 à 16:05
Re,

Il faut que tu aies un classeur modèle vierge avec ton format de facture et les macro dedans.
Donc soit tu reportes ta mise en page dans NumFacture.xls (que tu peux renommer), soit tu copie colle les macro (aux mêmes endroits) dans ton modèle (ou bien tu déposes ton fichier modèle sur cijoint.fr et je t'y mets les macro).
Enssuiite tu ouvriras toujours ce fichier pour démarrer une nouvelle facture. Si tu veux on peut ajouter un code à l'ouverture pour forcer l'enregistrement sous un nouveau nom pour ne pas perdre le modèle vierge.
Ou bien l'enregistrer en tant que modèle et tu y auras accès par 'fichier / nouveau...' (dans ce cas noter le chemin d'enregistrement des modèles excel pour y mettre également numfacture.txt)
eric
0
Salut Éric, si tu pouvais m'incorporer ta maccro, ce serait vraiment apprécié!!

En appuyant sur le bouton #OF...il faudrait que les numéros apparaissent dans les cases A23,24 jusqu'à A43,44.

Voici le fichier ce sera un peu plus clair pour toi.

http://www.cijoint.fr/cjlink.php?file=cj200912/cijIyVWbrm.xls

Aussi si tu peux ajouter le code dont tu me parlais...

(Enssuiite tu ouvriras toujours ce fichier pour démarrer une nouvelle facture. Si tu veux on peut ajouter un code à l'ouverture pour forcer l'enregistrement sous un nouveau nom pour ne pas perdre le modèle vierge)

Thanks a lot!!
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 257
5 déc. 2009 à 21:16
aie... il ne faut jamais fusionner des cellules, c'est trop ch.... sur plein de trucs, ne serait-ce qu'un copier/coller....
0
Dak!! Si ça ne te nuie pas laisse-le comme ça (je vais m'en occuper), mais si ça te nuie ne te gêne pas tu peux les défusionner.

Merci de l'info.!!

Donnes-moi en des nouvelles lorsque tu auras insérer la macro!

Thanks!!
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 257
5 déc. 2009 à 21:35
peut-être ce soir, sinon demain...
eric
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 257
5 déc. 2009 à 23:02
Re,

Résumé de...xls
Je te laisse tester.

J'ai défusionné les cellules pour n'avoir plus qu'une ligne à chaque fois.
Je te laisse finir, soit supprimer les colonnes inutiles ou refusionner certaines cellules (essaie d'éviter, aussi pour simplifier la saisie)

eric
0
Re-Bonjour Éric, j'aurais besoin de ton aide.

J'suis sûr que tu vas trouver le bobo en quelques secondes...De mon côté j'ai tenté de modifier la macro pour l'adapter, mais sans succès.

Voici mon problème:

J'ai rajouté une colonne A pour pouvoir imprimer en appuyant sur des boutons.

Depuis ce temps, lorsque j'ouvre le fichier, le premier numéro apparaît en A22 ce qui ne devrait pas être le cas.

Le premier numéro devrait apparaître en B23.

Voici le lien pour le fichier: http://www.cijoint.fr/cjlink.php?file=cj200912/cijltz3a9D.xls

Pourrais-tu m'aider stp!!
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 257
10 déc. 2009 à 22:54
Bonsoir,

Dans les macros on adresse souvent directement les cellules. Elles ne voient pas leqs insertions/suppressions, il faut les adapter.
- Alt+F11 pour aller dans VBA,
- Là, à gauche, tu double-cliques sur ThisWorkbook de ton classeur pour ouvrir la fenetre de code
- vers le bas tu lis :
    Worksheets("Feuil1").[A22] = CLng(i) + 1 '= mettre dans A22 compteur+1
et :
    Worksheets("Feuil1").[B22].Select
'selectionner B22 (cellule à droite de A22)

Remplace A22 et B22 par les cellules qui t'interessent

eric
0
Merci Éric, je vais essayer ça demain au bureau... Chez moi, il y a un bug avec excel.

Je te donnes des nouvelles.

Thanks!!
0
Salut Éric, est-ce qu'il y aurait un moyen de modifier la macro pour que lorsque j'ouvre le classeur il n'y ait

aucun numéro d'indiqué en B23 ?

Que seulement lorsque je clique sur le bouton, que le premier numéro apparaisse.


Merci à l'avance!!
0
biggies Messages postés 6 Date d'inscription vendredi 4 décembre 2009 Statut Membre Dernière intervention 3 janvier 2010 2
13 déc. 2009 à 15:36
Salut Éric, est-ce qu'il y aurait un moyen de modifier la macro pour que lorsque j'ouvre le classeur il n'y ait

aucun numéro d'indiqué en B23 ?

Que seulement lorsque je clique sur le bouton, que le premier numéro apparaisse.

Et aussi si possible enlever l'enregistrement automatique au départ, car je me suis créer un bouton d'enregistrement...


Merci à l'avance!!
0
Salut Éric, tu es un vrai p'tit génie!!!! Wow. Ça marche à merveille!!
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 257
13 déc. 2009 à 20:52
Bonjour,

En fait si je comprend bien tu ne veux plus rien de la macro qui est dans thisworkbook.
Supprime-la. Le mieux est de sélectionner toutes les lignes et de mettre le bloc en commentaire (avec des ' devant chaque ligne), il sera inactif. C'est plus facile pour récupérer le code au cas ou..

eric
0
biggies Messages postés 6 Date d'inscription vendredi 4 décembre 2009 Statut Membre Dernière intervention 3 janvier 2010 2
16 déc. 2009 à 22:01
Merci Éric !!!! Finalement je vais garder la macro thisworkbook.

Cela va éviter d'écraser le fichier original.

Désolé du dérangement! :-))
0