Bonjour,
J’ai suivi toutes les informations liées à votre vidéo mais j’ai une erreur sur la deuxième ligne du code qui ne part pas malgré la méthode que vous avez communiqué.
Je vous joins le fichier.
Pourriez-vous m’aider.
Merci
Karine
Devis 1.xlsm (27,8 Ko)
Bonjour,
Déjà pour commencer, le modèle du Docteur n’est pas un TOP
Pour bien commencer, il faut déclarer ses variables (ligne) qui seront très utiles en cas de « bug » sur des macros plus compliquées et rechercher la dernière ligne vide depuis le bas (xlUp) et non depuis le haut
Dim ligne As Integer
ligne = Sheets("Historique_devis").Range("A" & Rows.Count).End(xlUp).Row + 1
Sur une instruction avec un RANGE() on place des guillemets sur la/les cellules
soit
Sheets("Devis").Range("B13").Value
et non
Sheets("Devis").Range(B13).Value
et tu auras un gros soucis pour ajouter un N° sur le N°de Devis car celui-ci est un STRING (expression) et non un INTEGER (chiffre) —> 20DE010000
Pour la suite avec le bon résultat, donne moi comment tu veut avoir ton N° d Devis
ex: année + Lettres + chiffre
pour le début sans l’ajout du N° de devis, voici déjà un départ qui bloquera sur la dernière ligne
Sub Archive()
Dim ligne As Integer
ligne = Sheets("Historique_devis").Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets("Historique_devis").Range("A" & ligne).Value = Sheets("Devis").Range("B13").Value
Sheets("Historique_devis").Range("B" & ligne).Value = Sheets("Devis").Range("B14").Value
Sheets("Historique_devis").Range("C" & ligne).Value = Sheets("Devis").Range("G11").Value
Sheets("Historique_devis").Range("D" & ligne).Value = Sheets("Devis").Range("G12").Value
Sheets("Historique_devis").Range("E" & ligne).Value = Sheets("Devis").Range("G13").Value
Sheets("Historique_devis").Range("F" & ligne).Value = Sheets("Devis").Range("G14").Value
Sheets("Historique_devis").Range("G" & ligne).Value = Sheets("Devis").Range("J39:K39").Value
Sheets("Historique_devis").Range("H" & ligne).Value = Sheets("Devis").Range("J40:K40").Value
Sheets("Historique_devis").Range("I" & ligne).Value = Sheets("Devis").Range("J41:K41").Value
Sheets("Historique_devis").Range("J" & ligne).Value = Sheets("Devis").Range("J42:K42").Value
Sheets("Historique_devis").Range("K" & ligne).Value = Sheets("Devis").Range("J43:K43").Value
Sheets("Devis").Range("A22:G37,G11:J11").ClearContents
Sheets("Devis").Range("B13").Value = Sheets("Devis").Range("B13").Value + 1
End Sub
Bonsoir,
Merci pour tes explications.
J’ai appliquer tes corrections mais j’ai toujours un bug sur la dernière ligne.
De plus par rapport à
et tu auras un gros soucis pour ajouter un N° sur le N°de Devis car celui-ci est un STRING (expression) et non un INTEGER (chiffre) —> 20DE010000
La numérotation des factures est
Année : 20
Lettre : DE
Mois : 01
Numéro : 0001
Merci de ton soutien
Cordialement
Bonjour,
A tester
Devis 1.xlsm (31,1 Ko)
Explications:
Pour remettre le N° de devis à 1, il suffit de remettre le chiffre 1 dans l’onglet « Encodage »
Si le nom du client (cellule G11) ou le mode de règlement (cellule C19) ne sont pas renseignés, un message apparaît.
Le N° de devis s’incrémente de 1 à chaque enregistrement
La liste déroulante des clients est dynamique (càd qu’a chaque fois que tu ajoutes un nouveau client, la liste se met à jour)
Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.