Macro Excel 2007
Résolu/Fermé
evevdll
Messages postés
81
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
13 décembre 2009
-
19 janv. 2009 à 22:03
evevdll Messages postés 81 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 13 décembre 2009 - 25 janv. 2009 à 13:33
evevdll Messages postés 81 Date d'inscription vendredi 9 novembre 2007 Statut Membre Dernière intervention 13 décembre 2009 - 25 janv. 2009 à 13:33
A voir également:
- Macro Excel 2007
- Liste déroulante excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Formule excel - Guide
- Save as pdf office 2007 - Télécharger - Bureautique
- Macro word - Guide
4 réponses
eriiic
Messages postés
24569
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
14 mars 2024
7 210
19 janv. 2009 à 22:37
19 janv. 2009 à 22:37
Bonsoir,
Un exemple de ce que tu pourrais faire avec ton n° de facture dans ("Feuil1").[A1] :
eric
Un exemple de ce que tu pourrais faire avec ton n° de facture dans ("Feuil1").[A1] :
Sub test() ok = True For Each w In Worksheets 'contrôle si n° non utilisé If w.Name = Worksheets("Feuil1").[A1] Then ok = False Exit For End If Next w If Not ok Then MsgBox ("N° facture déjà utilisé") ElseIf Worksheets("Facture").[C12].Value = "" Then 'contrôle de C12 MsgBox ("C12 vide") Else 'Call ton_sub End If End Sub
eric
m@rina
Messages postés
19847
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
28 mars 2024
11 258
19 janv. 2009 à 22:46
19 janv. 2009 à 22:46
Bonsoir
Pourquoi ne pas faire une incrémentation automatique de numéro ?... Il n'y aurait pas à gérer ce type d'erreur...
Une idée en passant ! ;)
m@rina
Pourquoi ne pas faire une incrémentation automatique de numéro ?... Il n'y aurait pas à gérer ce type d'erreur...
Une idée en passant ! ;)
m@rina
evevdll
Messages postés
81
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
13 décembre 2009
51
19 janv. 2009 à 22:54
19 janv. 2009 à 22:54
Bonsoir Marina,
Merci de ta réponse. j'y avais pensé mais s'il fallait modifier une facture validée, j'ai peur qu'on ne puisse pas revenir sur le numéro manuellement. De plus je ne sais pas comment procéder.
Si tu le veux, tu peux noter la procédure car elle pourrait m'être utilse pour plus tard.
je garde les explications que l'on me donne pour éviter de demander trop souvent car j'essaie de m'entrainer seule quand c'est possible.
Bonne soirée,
Eve
Merci de ta réponse. j'y avais pensé mais s'il fallait modifier une facture validée, j'ai peur qu'on ne puisse pas revenir sur le numéro manuellement. De plus je ne sais pas comment procéder.
Si tu le veux, tu peux noter la procédure car elle pourrait m'être utilse pour plus tard.
je garde les explications que l'on me donne pour éviter de demander trop souvent car j'essaie de m'entrainer seule quand c'est possible.
Bonne soirée,
Eve
m@rina
Messages postés
19847
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
28 mars 2024
11 258
>
evevdll
Messages postés
81
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
13 décembre 2009
19 janv. 2009 à 23:20
19 janv. 2009 à 23:20
Bonsoir Eve,
Pour cela, tu aurais créé une feuille cachée qui contiendrait simplement le numéro à incrémenter.
Pour un premier usage, ru mets le numéro à la main, 1 par exemple.
La macro irait chercher ce numéro et le copierait dans la cellule de la facture qui doit contenir le numéro :
Rien ne t'empêche d'ajouter quelque chose au numéro, une date, une référence...
puis une fois que l'onglet est créé, la macro incrémenterait le numéro dans la feuille cachée. Ce numéro sera prêt pour la facture suivante.
Dans ce cas, même si tu veux modifier un numéro d'une facture quelconque, ça ne gêne absolument rien.
m@rina
Pour cela, tu aurais créé une feuille cachée qui contiendrait simplement le numéro à incrémenter.
Pour un premier usage, ru mets le numéro à la main, 1 par exemple.
Numero_Fact = [feuille_num!A1]
La macro irait chercher ce numéro et le copierait dans la cellule de la facture qui doit contenir le numéro :
[facture!A5].Value = Numero_Fact
Rien ne t'empêche d'ajouter quelque chose au numéro, une date, une référence...
puis une fois que l'onglet est créé, la macro incrémenterait le numéro dans la feuille cachée. Ce numéro sera prêt pour la facture suivante.
[feuille_num!A1] = [feuille_num!A1]+ 1
Dans ce cas, même si tu veux modifier un numéro d'une facture quelconque, ça ne gêne absolument rien.
m@rina
evevdll
Messages postés
81
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
13 décembre 2009
51
>
m@rina
Messages postés
19847
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
28 mars 2024
20 janv. 2009 à 00:28
20 janv. 2009 à 00:28
Merci,
Pas mal mais mes numéros seront sous la forme :
E090101 : E pour initiale, 09 pour l'année, 01 pour le mois et 01 pour le numéro à incrémenter
ou alors peut-être :
E09001 : E pour initiale, 09 pour l'année, 001 pour le numéro à incrémenter
J'ai essayé et ça marche mais pas pour ma numérotation personnelle.
Je garderai quand même tes explications.
A bientôt,
Evelyne
Pas mal mais mes numéros seront sous la forme :
E090101 : E pour initiale, 09 pour l'année, 01 pour le mois et 01 pour le numéro à incrémenter
ou alors peut-être :
E09001 : E pour initiale, 09 pour l'année, 001 pour le numéro à incrémenter
J'ai essayé et ça marche mais pas pour ma numérotation personnelle.
Je garderai quand même tes explications.
A bientôt,
Evelyne
m@rina
Messages postés
19847
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
28 mars 2024
11 258
>
evevdll
Messages postés
81
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
13 décembre 2009
20 janv. 2009 à 00:44
20 janv. 2009 à 00:44
Re..
Ah ben ça, c'est pas un problème :
m@rina
Ah ben ça, c'est pas un problème :
[facture!A5].Value = "E" & Format(Now, "yymm") & Format(Numfact, "000")
m@rina
evevdll
Messages postés
81
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
13 décembre 2009
51
19 janv. 2009 à 22:50
19 janv. 2009 à 22:50
Rebonsoir,
ça marche mais après avoir cliqué sur ok dans la boite de dialogue, il continue quand même la macro avec le bogue.
Est-il possible d'avoir une boite de dialogue qui propose d'annuler la procédure pour pouvoir revenir sur les valeurs à modifier et redemander la macro ensuite ?
Si c'est le cas, peux-tu m'indiquer la marche à suivre ?
Merci d'avance,
Eve
ça marche mais après avoir cliqué sur ok dans la boite de dialogue, il continue quand même la macro avec le bogue.
Est-il possible d'avoir une boite de dialogue qui propose d'annuler la procédure pour pouvoir revenir sur les valeurs à modifier et redemander la macro ensuite ?
Si c'est le cas, peux-tu m'indiquer la marche à suivre ?
Merci d'avance,
Eve
eriiic
Messages postés
24569
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
14 mars 2024
7 210
19 janv. 2009 à 23:37
19 janv. 2009 à 23:37
Re,
si tu as copier le code tel que je te l'ai mis il s'arrete. Ta macro doit se lancer dans la partie
Else
'Call ton_sub
End If
Il faut enlever la ' pour l'appeler avec call.
Tu dois donc avoir 2 sub :
sub
ma macro
end sub
et
sub
ta macro
end sub
eric
si tu as copier le code tel que je te l'ai mis il s'arrete. Ta macro doit se lancer dans la partie
Else
'Call ton_sub
End If
Il faut enlever la ' pour l'appeler avec call.
Tu dois donc avoir 2 sub :
sub
ma macro
end sub
et
sub
ta macro
end sub
eric
evevdll
Messages postés
81
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
13 décembre 2009
51
>
eriiic
Messages postés
24569
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
14 mars 2024
20 janv. 2009 à 00:24
20 janv. 2009 à 00:24
Bonsoir Eric,
ok ça marche avec bien du mal (pourtant logique après avoir compris).
J'ai eu des difficultés car ma macro est très longue et je ne savais pas où placer et convertir pour moi ce que tu m'as donné. J'inscris au fur et à mesure les explications pour des utilisations ultérieures.
Ce que j'ai fait doit être pour toi très facile mais pour moi un langage que je dois décoder.
A bientôt j'espère !
Encore merci
Evelyne
ok ça marche avec bien du mal (pourtant logique après avoir compris).
J'ai eu des difficultés car ma macro est très longue et je ne savais pas où placer et convertir pour moi ce que tu m'as donné. J'inscris au fur et à mesure les explications pour des utilisations ultérieures.
Ce que j'ai fait doit être pour toi très facile mais pour moi un langage que je dois décoder.
A bientôt j'espère !
Encore merci
Evelyne
evevdll
Messages postés
81
Date d'inscription
vendredi 9 novembre 2007
Statut
Membre
Dernière intervention
13 décembre 2009
51
25 janv. 2009 à 13:33
25 janv. 2009 à 13:33
Bonjour à Marina et Eric,
Je vous remercie de m'avoir aidée avec les macros. Vous avez répondu à mes questions et j'en ai tellement d'autres...
Je n'ai pas encore fini mon classeur et les macros sont pour moi un langage étranger. J'ai encore beaucoup à faire (je sais que pour vous ce serait rapide mais sans connaissance, c'est très difficile). Je vais essayer de me débrouiller un peu seule avant de vous solliciter de nouveau.
Encore merci
Evelyne
Je vous remercie de m'avoir aidée avec les macros. Vous avez répondu à mes questions et j'en ai tellement d'autres...
Je n'ai pas encore fini mon classeur et les macros sont pour moi un langage étranger. J'ai encore beaucoup à faire (je sais que pour vous ce serait rapide mais sans connaissance, c'est très difficile). Je vais essayer de me débrouiller un peu seule avant de vous solliciter de nouveau.
Encore merci
Evelyne
19 janv. 2009 à 22:41
Je vais tester tout de suite en espérant placer le code à la bonne place.
Je te confirmerai si j'ai réussi
Bonsoir,
Eve