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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
| Sub consulter()
Application.ScreenUpdating = False
' consulter Macro
'
' Touche de raccourci du clavier: Ctrl+Shift+M
'Copier la valeur dans la case séletionner
Application.CutCopyMode = False
Selection.Copy
' Rend la feuille consult visible
Sheets("consult").Visible = True
Range("B8").Select
ActiveSheet.Paste
'Déclaration des variables
Dim Trouve As Range
Dim Valeur_cherchee As String
'Détermination de la valeur à rechercher dans consult, soit le N° de facture
Valeur_cherchee = Sheets("consult").Range("B8").Value
'procédure de recherche du numéro de facture
Set Trouve = Sheets("liste_facture").Columns(1).Cells.Find(what:=Valeur_cherchee)
'Quand on a trouvé le n° de facture
If Trouve Is Nothing Then
MsgBox "Erreur mon frère", vbOKOnly + vbExclamation, "Terminé"
Else
''//DEBUT DE PROCEDURE FAISANT APPARAITRE LES PRINCIPAUX ELEMENTS DE LA FACTURE
With Sheets("liste_facture")
'Copie du num client que l'on colle en B9
ActiveCell.Offset(0, 1).Copy
Sheets("consult").Select
Range("B9").Select
ActiveSheet.Paste
'Copie de la date en F1
Trouve.Offset(0, 2).Copy
Sheets("consult").Select
Range("F1").Select
ActiveSheet.Paste
End With
''//DEBUT DE PROCEDURE POUR COLLER LE DETAIL DE LA FACTURE
With Sheets("detail_facture")
'Je sélectionne la feuille detail_facture
Sheets("detail_facture").Select
'Dans cette feuille, je sélectionne A1
Range("A1").Select
'Tant que la cellule <> rien
Do While ActiveCell <> "Valeur_cherchee"
'Je sélectionne la cellule en dessous
ActiveCell.Offset(1, 0).Select
Loop
'A ce stade, la cellule active dans la feuille detail_facture
'est la première cellule avec le numéro de facture
'Je selectionne la cellule de droite avec la référence produit et je vais la coller en A14 de la feuille consult
'Tant que la celulle active <>""
Do While ActiveCell = "Valeur_cherchee"
'j'instaure les variables ref, qte
Dim ref
Dim qte
'la var ref est égale à la celulle active+ 1 colonne
ref = ActiveCell.Offset(0, 1)
'la var qte = à la val de la cellule active + 2 colonnes
qte = ActiveCell.Offset(0, 2)
'Je sélectionne la première ligne des ref de la feuille consult
Sheets("consult").Select
Range("A14").Select
'je peux lui affecter la val de la référence produit
ActiveCell = ref
'La deuxième colonne contien la val de la variable qte
ActiveCell.Offset(0, 4) = qte
'Je sélectionne la ligne en dessous
ActiveCell.Offset(1, 0).Select
'Je sélectionne la feuille detail_facture
Sheets("detail_facture").Select
'Je sélectionne la cellule en dessous
ActiveCell.Offset(1, 0).Select
Loop
End With
End If
Application.ScreenUpdating = True
Set Trouve = Nothing
End Sub |
Partager