Bonjour, tout le monde
Etant débutant j'ai modifier quelques code que j'ai trouver à gauche à droite...
Très bonne chance Il fonctionne
mais je me dit qu'il y à sûrement mieux... Ou alors que j'ai fait une petite erreur qui ne pose pas de problème pour le moment...
Vus que c'est pour faire un programme de gestion facturation j'ai intérêt qu'il fonctionne au top.

Le but de la macro :
Recopier plusieurs cellules dans une autre feuilles : base de données
Tbl = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 31, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53)
Ligne assez longue... mais a fonctionne ...

et aussi incrémenter le numéro du devis de 1 à chaque fois

A ce propos : Question N°2
Est ce possible d'incrémenter un numéro mais avec une lettre dedans pour que je puisse m'y retrouver entre les
numéro de facture et les numéro de devis : par exemple au lieu d'avoir 201800001 j'aimerais : D201800001

Voici le code en question :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Sub Enregistrer_devis()
 
Dim FeFacture As Worksheet
Dim FeDevis As Worksheet
Dim Tbl
Dim Lig As Long
Dim I As Integer
 
Set FeFacture = Worksheets("Facture")
Set FeMirror = Worksheets("Mirror")
Set FeDevis = Worksheets("Devis_2018")
 
'il est préférable de bien être sûr que "Devis" est entré dans la cellule
If UCase(FeFacture.Range("E10").Value) = "DEVIS" Then
 
'recherche de la première ligne vide dans la base de données
With FeDevis: Lig = .Cells(.Rows.Count, 1).End(xlUp).Row + 1: End With 'sur colonne A
 
Tbl = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 31, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53)
 
For I = 0 To UBound(Tbl)
 
FeDevis.Cells(Lig, I + 2).Value = FeMirror.Cells(3, Tbl(I)).Value
 
Next I
 
'incrémente le numéro client par rapport à la valeur de la cellule du dessus
FeDevis.Cells(Lig, 1).Value = FeDevis.Cells(Lig - 1, 1).Value + 1
 
 
MsgBox "Enregistrement terminé"
 
Else
MsgBox "erreur"
 
 
End If
 
 
End Sub

Merci à tous