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 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
| Sub MAJ_SUIVI_VIA_FICHIER_CLIENT()
Dim Path_name As String
Dim File_name As String
Dim Complete_File_name As String
'désactive la mise à jour de l'affichage
Application.ScreenUpdating = False
Sheets("Suivi Dépl new model V1").Select
'construit une date pour le nom du fichier d'écart
LaDate = Date
LeTableauDate = Split(Date, "/")
LaDate = LeTableauDate(0) & LeTableauDate(1) & LeTableauDate(2)
Path_name = ThisWorkbook.Path
LeFichierClient = Path_name & "\" & "Suivi des déploiements 2017.xlsm"
'LeFichierEcart = Path_name & "\" & "SUIVI_CMO_" & LaDate & ".xlsx"
'défini le nom du fichier de suivi (versionning)
LeNomFichierSuivi = ActiveWorkbook.Name
'ouvre le fichier client
Workbooks.Open Filename:=LeFichierClient
'Sélectionne le fichier du client
Windows("Suivi des déploiements 2017.xlsm").Activate
' Selectionne la première cellule de la colonne "AF=BdC UO"
Range("A2").Select
''intialise le compteur d'écart à 1 pour prendre en compte la ligne de titre
'CompteurEcart = 2
' Boucle tant que pas vide
Do While Not (IsEmpty(ActiveCell))
' 'sélectionne le fichier de suivi
' Windows(LeNomFichierSuivi).Activate
'lecture de la valeur du BDCU
Debug.Print Cells(ActiveCell.Row, 32).Value
LaValeurBDCU = Cells(ActiveCell.Row, 32).Value
LaValeurPERIMETRE = Cells(ActiveCell.Row, 34).Value
Debug.Print "Le périmètre est " & LaValeurPERIMETRE
If LaValeurPERIMETRE = "CC" Then
' 'Sélectionne le fichier du client
' Windows("Suivi des déploiements 2017.xlsm").Activate
'active le fichier de suivi
Windows(LeNomFichierSuivi).Activate
'lance la recherche de la valeur dans la colonne "AF"
Range("N1").Select
Columns("N:N").Select
Set LaRecherche = Columns("N:N").Find(What:=LaValeurBDCU, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
True, SearchFormat:=False)
If LaRecherche Is Nothing Then 'test si la recherche à donné un résultat
'pas trouvé
'alors nous ajoutont la ligne dans le fichier de suivi
Debug.Print "ajout de ligne dans suivi"
'CompteurEcart = CompteurEcart + 1
'Sélectionne le fichier du client
Windows("Suivi des déploiements 2017.xlsm").Activate
'Lire les champs A,D,P,N,G,H,I,S
'normalement la cellule active est dans la colonne G
LaLigneEnCours = ActiveCell.Row
CLIENT_Type_OP = Range("A" & LaLigneEnCours).Value
CLIENT_RNE = Range("D" & LaLigneEnCours).Value
CLIENT_Tranche = Range("P" & LaLigneEnCours).Value
CLIENT_Type_équipement = Range("J" & LaLigneEnCours).Value
CLIENT_Mois_souhaité_de_déploiement = Range("N" & LaLigneEnCours).Value
CLIENT_Nom = Range("G" & LaLigneEnCours).Value
CLIENT_VILLE = Range("H" & LaLigneEnCours).Value
CLIENT_DPT = Range("I" & LaLigneEnCours).Value
CLIENT_Qte = Range("L" & LaLigneEnCours).Value
CLIENT_Nature = Range("K" & LaLigneEnCours).Value
CLIENT_reseau = Range("M" & LaLigneEnCours).Value
CLIENT_NUM_BdC_MAT = Range("S" & LaLigneEnCours).Value
CLIENT_BDCUO = LaValeurBDCU
'active le fichier de suivi
Windows(LeNomFichierSuivi).Activate
'insert une nouvelle ligne dans le fichier de suivi
Rows("3:3").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'sélectionne la ligne active
LaLigneActive = ActiveCell.Row
'met à jour les valeurs puis met en jaune les modifications
Range("A" & LaLigneActive).Value = CLIENT_Type_OP
Range("B" & LaLigneActive).Value = CLIENT_RNE
Range("C" & LaLigneActive).Value = CLIENT_Tranche
Range("D" & LaLigneActive).Value = CLIENT_Mois_souhaité_de_déploiement
Range("E" & LaLigneActive).Value = CLIENT_Nom
Range("F" & LaLigneActive).Value = CLIENT_VILLE
Range("G" & LaLigneActive).Value = CLIENT_DPT
Range("H" & LaLigneActive).Value = CLIENT_NUM_BdC_MAT
Range("I" & LaLigneActive).Value = CLIENT_Type_équipement
Range("J" & LaLigneActive).Value = CLIENT_Nature
Range("K" & LaLigneActive).Value = CLIENT_Qte
Range("L" & LaLigneActive).Value = CLIENT_reseau
Range("N" & LaLigneActive).Value = CLIENT_BDCUO
'sélectionne la ligne
Range("A" & LaLigneActive & ":" & "G" & LaLigneEnCours).Select
'met en jaune
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535
.TintAndShade = 0
.PatternTintAndShade = 0
End With
'réinitialise la variable
LaLigneEnCours = ""
LaLigneActive = ""
Else
'trouvé
Debug.Print "trouvé donc pas d'ajout de ligne"
End If
End If ' LaValeurPERIMETRE = "CC"
'Sélectionne le fichier du client
Windows("Suivi des déploiements 2017.xlsm").Activate
' Passe à la ligne suivante
Selection.Offset(1, 0).Select
Loop
''sauvegarde le fichier
'ActiveWorkbook.Save
'ActiveWorkbook.Close
'fermeture du fichier client sans enregistrer
Windows("Suivi des déploiements 2017.xlsm").Activate
ActiveWorkbook.Close False
'active le fichier de suivi
Windows(LeNomFichierSuivi).Activate
'active la mise à jour de l'affichage
Application.ScreenUpdating = True
MsgBox "Mise à jour terminée"
End Sub |
Partager