Bonjour, tout le monde :)
Etant débutant j'ai modifier quelques code que j'ai trouver à gauche à droite...
Très bonne chance :) Il fonctionne :D
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:
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