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
| Sub PRODENCOURS()
'
' PRODENCOURS Macro
'
'Déclaration des variables
Dim DateDuJour As Date
Dim LigneProd As Integer
Dim NumLigneExcel As Integer
Dim NombreLignesRemplies As Integer
Dim Alpha As String
Dim Beta As String
Dim An1 As String
Dim An2 As String
Dim An3 As String
Dim Impression As String
Dim Type As String
Dim Couleur As String
Dim GammaT As String
Dim Gamma As Double
Dim EpsilonT As String
Dim Epsilon As Double
Application.Workbooks.Open "z:\Data\Main.xlsx" ' Ouverture du fichier destinataire
DateDuJour = Date
LigneProd = 2
For LigneProd = 2 To 33
Windows("PLANNING.xlsm").Activate
Sheets("Planning2").Select
If IsError(Application.Match(LigneProd, Range("A1:A1000"), 0)) Then ' si la ligne de prod n'existe pas, il ne se passe rien, seulement incrementation de Ligneprod de 1
Else 'si la ligne de prod existe, le programme suivant est activé
NumLigneExcel = Application.Match(LigneProd, Range("A1:A1000"), 0) ' recherche de numero de ligne de prod dans la colonne A (donc les lignes grises), et renvoi du numero de ligne du tableau excel
NumLigneExcel = NumLigneExcel + 1 'on ajoute 1 pour arriver à la ligne sous la ligne grise avec le 1er lot.
Alpha = Range("C" & NumLigneExcel).Value
Beta = Range("E" & NumLigneExcel).Value
An1 = Range("F" & NumLigneExcel).Value
An2 = Range("G" & NumLigneExcel).Value
An3 = Range("H" & NumLigneExcel).Value
Impression = Range("D" & NumLigneExcel).Value
Type = Range("AG" & NumLigneExcel).Value
Couleur = Range("AD" & NumLigneExcel).Value
GammaT = Range("AH" & NumLigneExcel).Value
GammaT = Replace(GammaT, ".", ",") 'remplace le point dans la variable GammaT par une virgule
Gamma = CDbl(GammaT) 'créer un double de la variable GammaT qui est un décimal alors que GammaT est considéré comme un texte
EpsilonT = Range("AI" & NumLigneExcel).Value
EpilonT = Replace(EpsilonT, ".", ",") 'remplace le point dans la variable EpsilonT par une virgule
Epsilon = CDbl(EpsilonT) 'créer un double de la variable EpsilonT qui est un décimal alors que EpsilonT est considéré comme un texte
Windows("Main.xlsx").Activate
Sheets("Extraction planning").Select
' Faire la boucle JUSQU'A CE QUE la case de la colonne A soit vide i.e; rechercher la première ligne vide du tableau
NombreLignesRemplies = 2
Do Until Range("A" & NombreLignesRemplies).Value = ""
NombreLignesRemplies = NombreLignesRemplies + 1
Loop ' Fin de la boucle
Range("A" & NombreLignesRemplies).Value = DateDuJour
Range("B" & NombreLignesRemplies).Value = LigneProd
Range("C" & NombreLignesRemplies).Value = Alpha
Range("D" & NombreLignesRemplies).Value = Beta
If An1 = "0" Then Range("E" & NombreLignesRemplies).Value = "" Else Range("E" & NombreLignesRemplies).Value = An1
If An2 = "0" Then Range("F" & NombreLignesRemplies).Value = "" Else Range("F" & NombreLignesRemplies).Value = An2
If An3 = "0" Then Range("G" & NombreLignesRemplies).Value = "" Else Range("G" & NombreLignesRemplies).Value = An3
Range("I" & NombreLignesRemplies).Value = Impression
Range("J" & NombreLignesRemplies).Value = Type
Range("K" & NombreLignesRemplies).Value = Couleur
Range("L" & NombreLignesRemplies).Value = Diametre
Range("M" & NombreLignesRemplies).Value = Epaisseur
End If
Next
Windows("Main.xlsx").Activate
End Sub |
Partager