Besoin d'aide pour Excel

Résolu
Lainoux Messages postés 36 Statut Membre -  
Vaucluse Messages postés 27336 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
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  1. Furtif Messages postés 9956 Statut Contributeur 933
     
    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 ...
    0
  2. irem Messages postés 166 Statut Membre 99
     
    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
    0
  3. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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é!
    0