Modifier journal devis suite à modification d'un devis déjà crée

Bonjour Dan

J'ai réussi à solutionner mon problème.

Merci encore.

Bonne journée.

Bonjour Dan,

Je reviens vers vous au sujet de cette fonction:

=TEXTE(MOIS(E2);"00")& TEXTE(ANNEE(E2);"00")&1&TEXTE(NBVAL('SAUVE DEVIS.xlsm'!TableauDevis[N° DEVIS])+1;"0000")

De janvier à septembre, il y a un zéro devant le mois

01 pour janvier, 02 pour février etc..............

Lorsque je selectionne un numéro des devis faits, le zéro se trouve supprimer.

05202110151 devient 5202110151 ce qui fait que par la suite lorsque que j'arrive sur cette fonction:

    On Error Resume Next
    Lig = .Range("c:c").Find(Wkbk2.Sheets(2).Range("d10").Value, LookIn:=xlValues, lookat:=xlWhole).Row
    If Lig = 0 Or Lig < 7 Then MsgBox " la ref Devis n'existe pas !": Exit Sub

il me dit que la réf devis n'existe pas.

J'ai essayé de mettre un guillemet avant le premier zéro mais cela ne marche pas

=TEXTE(MOIS(E2);"00")

'00")

Si vous pouviez me dire comment faire pour que le zéro reste,

En vous souhaitant bonne réception.

Bien cordialement.

Bonjour

La formule est placée où ?
tableaudevis est défini où ?

Sans le fichier ...

Bonjour Dan

Ok je vais préparer cela.

Bonne réception.

Re,

Je vous joint le fichier.

Bonne Réception.

30sauve-devis1.xlsm (55.24 Ko)

C'est normal qu'excel vous supprime le 0
Dans votre code, changez cette ligne :

.Item(Lig, 1) = "'" & Sheets("ZFACTURE_A_IMPRIMER").Range("D10")

Au passage :

- l'instruction --> Sheets("ZFACTURE_A_IMPRIMER").Activate est une instruction inutile puisque votre bouton est sur cette feuille. Puis d'une manière générale il fait éviter les SELECT dans les codes
- le WITH devant --> Sheets("ZRECAP_FACTURES").Unprotect est aussi à supprimer (avec le END WITH en dessous)

Crdlt

Re bonjour

Impeccable, super

En vous remerciant.

Si je comprend bien, pour aller sur une feuille il est préférable de mettre l'instruction activate que select.

Vu pour cela.

En vous remerciant pour ces conseils.

Encore MERCI.

Bonne réception.

Bien cordialement.

Alain.

Re

Le zéro ne s'efface plus, mais il ne reconnait pas dans mon autre tableau ce N° de facture puisque mon N° de facture n'a pas le guillemet.

Mais si je met un guillemet dans le N° de facture, il ne le reconnait pas non plus.

Bien cordialement.

32sauve-devis1.xlsm (86.74 Ko)

Le zéro ne s'efface plus, mais il ne reconnait pas dans mon autre tableau ce N° de facture puisque mon N° de facture n'a pas le guillemet.

Normal. Pourquoi devriez-vous l'effacer ?

Dans votre autre tableau, vous parlez du quel ?

Attention que dans la deuxième partie du code ("MET A JOUR LE JOURNAL DEVIS NON FACTURE", vous devez aussi modifier la même ligne. Votre fichier précédent ne comportait qu'une partie du code

oui, c'est exact qu'il n'apparait pas dans ce que je vous ai envoyé.

mais je l'ai essayé avec cette modification

 Sheets("ZDEVIS_NON_FACTURE").Unprotect

    With Sheets("ZDEVIS_NON_FACTURE").ListObjects("TableauDevisNF")

    If .ListRows.Count = 0 Then
    .ListRows.Add: Lig = 1
    Else: .ListRows.Add Position:=1: Lig = 1 'insérer a la 1igne 1
    End If
    With .DataBodyRange
    .Item(Lig, 1) = "'" & Sheets("ZFACTURE_A_IMPRIMER").Range("D10")
ListObjects("TableauDevisNF")

étant le deuxième tableau et la réf n'existe pas.

comme dit précédemment j'ai même essayé

=TEXTE(MOIS(E2);"00")

avec un guillemet avant le zéro

(E2);"'00")

et la réf n'existe pas.

Bonne réception.

Alain.

Dans le code enlevez l'instruction --> OR LIG < 7

Cela devrait fonctionner mais on peut après corriger et utiliser le tableau défini "TableaudevisNF"

OR LIG < 7

MERCI DAN.

cela fonctionne à merveille.

.Item(Lig, 1) = "'" & Sheets("ZFACTURE_A_IMPRIMER").Range("D10")

cela je comprend. OK

OR LIG < 7

mais d'avoir supprimer cela là, je ne vois pas.

En tout cas un grand merci

Bonne soirée.

Bien cordialement.

Alain.

Rechercher des sujets similaires à "modifier journal devis suite modification deja cree"