Besoin d'aide pour Excel
Résolu
Lainoux
Messages postés
30
Date d'inscription
Statut
Membre
Dernière intervention
-
Vaucluse Messages postés 26496 Date d'inscription Statut Contributeur Dernière intervention -
Vaucluse Messages postés 26496 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'aimerai automatisé une cellule
Celle-ci permettrait d'afficher un numéro de facture en fonction de la date et du nombre de feuille établi.
J'explique par exemple :
On est le 12/10/2007 (cette date sera tapée sur la cellule G3)
On crée deux factures ce jour là, par exemple une en feuille1 et l'autre en feuille 2.
Pour la première le n° de facture serait le suivant => F121007A
Et pour l'autre serait => F121007B
Donc 2 pbs se posent celui de l'année 2007 => 07
Et de la dernière lettre ou chiffre si cela n'est pas possible.
Merci
J'aimerai automatisé une cellule
Celle-ci permettrait d'afficher un numéro de facture en fonction de la date et du nombre de feuille établi.
J'explique par exemple :
On est le 12/10/2007 (cette date sera tapée sur la cellule G3)
On crée deux factures ce jour là, par exemple une en feuille1 et l'autre en feuille 2.
Pour la première le n° de facture serait le suivant => F121007A
Et pour l'autre serait => F121007B
Donc 2 pbs se posent celui de l'année 2007 => 07
Et de la dernière lettre ou chiffre si cela n'est pas possible.
Merci
A voir également:
- Besoin d'aide pour Excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel moyenne - Guide
3 réponses
Salut
Sans aller trop loin,
Pour la date : tu tapes "Ctrl + ;" .. cette séquence te rentre directement la date, dans le format que tu as choisi
Ensuite, il me semble qu'un simple test genre : =si(G3=2007; concatener("F", date,"A");"")
Etc ...
Sans aller trop loin,
Pour la date : tu tapes "Ctrl + ;" .. cette séquence te rentre directement la date, dans le format que tu as choisi
Ensuite, il me semble qu'un simple test genre : =si(G3=2007; concatener("F", date,"A");"")
Etc ...
Pour la premiere partie cela peut se faire directement par une formule :
="F"&JOUR(G3)&MOIS(G3)&DROITE(ANNEE(G3);2)
ainsi 12/10/2007 en G3 donnera F121007
Par contre pour le nom de la feuille on ne peut pas la récupérer directement dans la formule donc soit créer une case G2 qui intègre directement le numéro de la feuille et l'ajouter (ou encore CAR(64+i) ou i est l'index en question pour A, B, C...)
Autrement il faut faire une macro et je pense que c'est du style marteau pilon pour une mouche
Irem
="F"&JOUR(G3)&MOIS(G3)&DROITE(ANNEE(G3);2)
ainsi 12/10/2007 en G3 donnera F121007
Par contre pour le nom de la feuille on ne peut pas la récupérer directement dans la formule donc soit créer une case G2 qui intègre directement le numéro de la feuille et l'ajouter (ou encore CAR(64+i) ou i est l'index en question pour A, B, C...)
Autrement il faut faire une macro et je pense que c'est du style marteau pilon pour une mouche
Irem
Bonjour:
Une proposition pour :
cérer une copie de facture et incrmenter le n° de A à H
Testez dans un classeur vierge.
Une feuille "ENTREE" sur laquelle:
Cellule A1, entrez le code fixe de votre entête:(parexemple Fct)
Cellule B1:
Vous rentrez la date en respectant bien la méthode avec apostrophe:
soit ' et ensuite ctrl ;
En cellule C1;la lettre A
En cellule D1:
La formule =CONCATENER(A1&B1&C1)
Une feuille "FAC" dans laquelle vous inscrivez dans la cellule A1=D1
Ensuite, il faut entre en VBA le code de macro suivant:
Sub CREER()
'
' CREER Macro
' Macro enregistrée le 09/10/2007
'
'
Application.DisplayFullScreen = False
Application.WindowState = xlMaximized
Sheets("FAC").Select
Sheets("FAC").Copy Before:=Sheets(1)
Range("A1").Select
Selection.Copy
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("ENTREE").Select
Range("C1").Select
Selection.Copy
Range("E2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("C1").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC[2]=""A"",""B"",IF(RC[2]=""B"",""C"",IF(RC[2]=""C"",""D"",IF(RC[2]=""D"",""E"",IF(RC[2]=""E"",""F"",IF(RC[2]=""F"",""G"",IF(RC[2]=""G"",""H"",""A"")))))))"
End Sub
Pour copier la macro: Outil / Macro / Visual basic Editor, copier de Sub.... à End sub inclus
Cette macro une fois lancée:
créera une copie de la feuille FAC
enregistrera en A1 le code créé
Incrémentera sur entrée la lettre de fin de code qui passera successivement à B, C, D jusqu'à H. Si vous voulez aller plus loin on en reparle
Par contre, il restera dans cette option à remettre le Adans la cellule C1 à chaque fois que vous changerez la date pour remettre le compteur à A. On peut essayer d'automatiser cela, mai ce sera un peu plus compliqué.
Da'ute plus doués que mois sur ces forums pourront vous expliquer comment faire pour renommer la feuille cérer avec, par xepl, le N° de facture. Ca, je ne sais pas faire
Bien cordialement.
PS: chez moi, j'ai test ça marche, mais si chez vous ça bug il est pobable que j'ai fait quelques fautes de frappe dans mon exposé!
Une proposition pour :
cérer une copie de facture et incrmenter le n° de A à H
Testez dans un classeur vierge.
Une feuille "ENTREE" sur laquelle:
Cellule A1, entrez le code fixe de votre entête:(parexemple Fct)
Cellule B1:
Vous rentrez la date en respectant bien la méthode avec apostrophe:
soit ' et ensuite ctrl ;
En cellule C1;la lettre A
En cellule D1:
La formule =CONCATENER(A1&B1&C1)
Une feuille "FAC" dans laquelle vous inscrivez dans la cellule A1=D1
Ensuite, il faut entre en VBA le code de macro suivant:
Sub CREER()
'
' CREER Macro
' Macro enregistrée le 09/10/2007
'
'
Application.DisplayFullScreen = False
Application.WindowState = xlMaximized
Sheets("FAC").Select
Sheets("FAC").Copy Before:=Sheets(1)
Range("A1").Select
Selection.Copy
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("ENTREE").Select
Range("C1").Select
Selection.Copy
Range("E2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("C1").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC[2]=""A"",""B"",IF(RC[2]=""B"",""C"",IF(RC[2]=""C"",""D"",IF(RC[2]=""D"",""E"",IF(RC[2]=""E"",""F"",IF(RC[2]=""F"",""G"",IF(RC[2]=""G"",""H"",""A"")))))))"
End Sub
Pour copier la macro: Outil / Macro / Visual basic Editor, copier de Sub.... à End sub inclus
Cette macro une fois lancée:
créera une copie de la feuille FAC
enregistrera en A1 le code créé
Incrémentera sur entrée la lettre de fin de code qui passera successivement à B, C, D jusqu'à H. Si vous voulez aller plus loin on en reparle
Par contre, il restera dans cette option à remettre le Adans la cellule C1 à chaque fois que vous changerez la date pour remettre le compteur à A. On peut essayer d'automatiser cela, mai ce sera un peu plus compliqué.
Da'ute plus doués que mois sur ces forums pourront vous expliquer comment faire pour renommer la feuille cérer avec, par xepl, le N° de facture. Ca, je ne sais pas faire
Bien cordialement.
PS: chez moi, j'ai test ça marche, mais si chez vous ça bug il est pobable que j'ai fait quelques fautes de frappe dans mon exposé!