Code incrementiel

Bonjours a tous,

Je suis en train de faire un petit programme sur excel pour gérer mes factures,

Je voudrais que le No de Facture se change automatiquement après que j'ai enregistrer ma feuille en cliquant sur un bouton. jusque la sa va, mais ensuite pour changer le code de cette façon ci dessous car j'ai plusieurs type de facture a gérer sur un seul compte, aucune idée comment faire

Donc quel est le code a insérer après l'enregistrement :

SI N1=A, NE RIEN CHANGER

Si N4=F, N7+1

SI N4=P, N9+1

SI N4=C, N11+1

SI N4=Q, N13+1

SI N4=X, N15+1

Merci de votre aide si précieuse

Ps: comment faite vous pour insérer dans les message les codes aux même format que dans excel,VBA car moi je fais toujours un copier coller, mais ce n'est pas très lisible.

Bonjour,

Donne-nous un exemple avec un fichier Excel à l'appui. Car l'explication seule que tu as donnée ne suffit pas pour y voir clair.

Salut Ambroise,

Afin de montrer un code de la même manière que dans l'explorer VBA, tu le colles dans ton message, tu le sélectionnes et tu cliques sur "Code" au-dessus.

Si tu nous montrais un fichier avec le bout de code que tu as déjà, ça nous aiderait grandement à t'aider

Cordialement.

EDIT : Salut Raja

Bonjour, je vous joint une feuille explicative, enfin j’espère, car envoyer le fichier, assez compliquer car dans les code il y a plein de chemin bien spécifique et risque de buguer sur un autre poste.

Si dessous mon code Je vais essayer la technique de Yvouille.

 Private Sub CommandButton1_Click()
  Dim sPath As String, sFic As String
  Dim WbkNewfacture As Workbook
  ' Mémorisé les valeurs nécessaires pour l'enregistrement
 sPath = ThisWorkbook.Path & "\Facture\"
  sFic = ThisWorkbook.Sheets("Newfacture").Range("AB6") & ".xlsm"
  ' Définir l'objet WbkContrat
 Set WbkNewfacture = Workbooks.Open(Filename:=Range("O43") & "\zznewfacture(NE PAS SUPPRIMER).xlsm")
  ' Copier la cellule de ce classeur dans celui des contrat
 ThisWorkbook.Sheets("Newfacture").Range("AD1:AP43").Copy
  WbkNewfacture.Sheets("Feuil5").Range("AD1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
                                                        SkipBlanks:=False, Transpose:=False
  ' Sauvegarder le classeur "zContrat" au format Excel sous le nom définit
 WbkNewfacture.SaveAs sPath & sFic

 sFic = ThisWorkbook.Sheets("Newfacture").Range("AB6") & ".pdf"
  WbkNewfacture.Save
  ' Sauvegarder le classeur "zContrat" au format PDF sous le nom définit
 WbkNewfacture.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPath & sFic, _
      Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
  ' Fermer le classeur enregistré
 WbkNewfacture.Close
  ' Effacer les variables objet
 Set WbkNewfacture = Nothing
 Sheets("Newfacture").Range("D3").MergeArea.ClearContents
 Sheets("Newfacture").Range("G10").MergeArea.ClearContents
 Sheets("Newfacture").Range("B32").MergeArea.ClearContents
 Sheets("Newfacture").Range("B33").MergeArea.ClearContents
 Sheets("Newfacture").Range("F40").MergeArea.ClearContents
 Sheets("Newfacture").Range("C12").MergeArea.ClearContents
 Sheets("Newfacture").Range("C13").MergeArea.ClearContents
 Sheets("Newfacture").Range("C14").MergeArea.ClearContents
 Sheets("Newfacture").Range("C15").MergeArea.ClearContents
 Sheets("Newfacture").Range("C16").MergeArea.ClearContents
 Sheets("Newfacture").Range("C17").MergeArea.ClearContents
 Sheets("Newfacture").Range("C18").MergeArea.ClearContents
 Sheets("Newfacture").Range("C19").MergeArea.ClearContents
 Sheets("Newfacture").Range("C20").MergeArea.ClearContents
 Sheets("Newfacture").Range("C21").MergeArea.ClearContents
 Sheets("Newfacture").Range("C22").MergeArea.ClearContents
 Sheets("Newfacture").Range("C23").MergeArea.ClearContents
 Sheets("Newfacture").Range("C24").MergeArea.ClearContents
 Sheets("Newfacture").Range("C25").MergeArea.ClearContents
 Sheets("Newfacture").Range("C26").MergeArea.ClearContents
 Sheets("Newfacture").Range("C27").MergeArea.ClearContents
 Sheets("Newfacture").Range("C28").MergeArea.ClearContents
 Sheets("Newfacture").Range("C29").MergeArea.ClearContents
 Sheets("Newfacture").Range("D35").ClearContents
 Sheets("Newfacture").Range("D43").ClearContents
 Sheets("Newfacture").Range("I34").ClearContents
 Sheets("Newfacture").Range("I35").ClearContents
 Sheets("Newfacture").Range("B12:B29").ClearContents
 Sheets("Newfacture").Range("G12:G29").ClearContents
 Sheets("Newfacture").Range("H12:H29").ClearContents
 Sheets("Newfacture").Range("I12:I29").ClearContents

LE CODE A INSERER ICI

End Sub

Si il faut quel que chose de plus dite mois, pour mois c'est claire, mais je sais ce que je veux.

Merci

Re,

Je ne me m’en sors pas vraiment entre toutes tes explications, soit dans tes messages, soit dans ton fichier.

Alors je te montre un exemple d’incrémentation qui pourrait correspondre à ton besoin, si ce n’est que je n’ai pas du tout traité le cas « si c’est A » car dans ton choix en B2, il n’est pas mentionné.

Si je suis complètement à côté, tu dois me donner de meilleures explications et un fichier qui tient debout.

A te relire.

Salut Ivouille,

tu as tous compris, c'est exactement ça sauf que pour le A c'est vrais que j'ai oublier de l’intégrer a mon fichier, je te le rejoint.

En réalité Si c'est A rien ne doit changer, il garde le no des feuilles existante mais ne change pas. c'est si je dois faire des facture d'essai avant validation de la facture donc le no ne doit pas changer.

Merci t'est un vrais pro

Tu as à nouveau des explications dans ton fil et d’autres dans ton fichier A éviter absolument !

Je ne comprends pas à quel moment tu aurais un « A » quelque part ?? Je n’en vois nulle part dans ton fichier (sauf en E19, bien entendu).

A te relire (à un seul endroit, s’il te plait).

Pas facile a expliquer,

voir sur fichier,

j’espère que ce sera bon, cette fois,

désolée de prendre ton temps

Désolé, mais tes explications sont vraiment compliquées et peu compréhensibles. Tu parles maintenant de la cellule C5, mais il n’y a rien dans cette cellule. Je présume que tu voulais parler de la cellule C4. Puis tu parles d’un numéro en E2, mais il n’y a que des lettres en E2. Enfin tu me dis que tu n’aurais pas du appeler A quelque chose (mais quoi ?) alors que jusqu’à maintenant tu as parlé de A !

Selon ta troisième ligne d’explications dans le fichier, je pense que tu pourrais vouloir dire que l’incrémentation mise en place ne doit pas avoir lieu s’il est écrit « Oui » en C4. J’ai donc ajouté ceci à mon code. Si ce n’est pas ce que tu désires, tu dois vraiment être plus précis et plus clair dans tes explications.

A te relire.

Tu as tous compris, c'est exactement ça.

Je sais je suis pas douer pour donner des explication, si cela change d,un message a l'autre c'est justement pour essayer de me faire comprendre.

dans tous les cas merci beaucoup

Rechercher des sujets similaires à "code incrementiel"