VERHAEGHE Jean-Baptiste
XLDnaute Nouveau
Bonjour la communauté,
Je viens vers vous car je rencontre un soucis dans un projet que j'ai vis à vis des filtres dans des TCD.
Pour faire simple, ma macro récupère un matricule et vient le mettre dans le champ du filtre puis actualise le TCD. De cette manière, le TCD est mis à jour en fonction du matricule récupéré et des formules viennent chercher les informations requises pour mettre à jours des tableaux & des graphs.
Le problème que je rencontre est qu'il peut arriver que le matricule sélectionné ne soit pas dans la liste des possibilité auquel cas la macro ne bloque pas et garde les informations du dernier matricule trouvé ce qui me donne des choux avec des carottes et j'aime pas trop ça ^^
J'ai contourné le problème en insérant manuellement la liste des tous les matricules à la fin de ma base de donnée mais je suis certainement comme la plupart d'entre vous, je hais le travail manuel !
Aussi, une âme charitable aurait-il la possibilité de me venir en aide ?
Vous trouverez ci-dessous une partie de mon code.
je vous remercie par avance pour toute l'aide et le temps consacré à ma requête.
Je viens vers vous car je rencontre un soucis dans un projet que j'ai vis à vis des filtres dans des TCD.
Pour faire simple, ma macro récupère un matricule et vient le mettre dans le champ du filtre puis actualise le TCD. De cette manière, le TCD est mis à jour en fonction du matricule récupéré et des formules viennent chercher les informations requises pour mettre à jours des tableaux & des graphs.
Le problème que je rencontre est qu'il peut arriver que le matricule sélectionné ne soit pas dans la liste des possibilité auquel cas la macro ne bloque pas et garde les informations du dernier matricule trouvé ce qui me donne des choux avec des carottes et j'aime pas trop ça ^^
J'ai contourné le problème en insérant manuellement la liste des tous les matricules à la fin de ma base de donnée mais je suis certainement comme la plupart d'entre vous, je hais le travail manuel !
Aussi, une âme charitable aurait-il la possibilité de me venir en aide ?
Vous trouverez ci-dessous une partie de mon code.
je vous remercie par avance pour toute l'aide et le temps consacré à ma requête.
VB:
Sub Export_TDB_OTP()
Dim Affaires As String
Dim Centre_profit As String
Dim CheminFicExport As String
Dim OTP_Court As String
Dim TDB_Periode As String
Application.Cursor = xlWait 'Affiche le sablier
Application.ScreenUpdating = False 'Désactivation du raffraichissement écran
Application.DisplayAlerts = False 'Désactivation des messages d'alertes et les questions
For Each No_OTP In Range("OTP")
If (Sheets("START").Cells(No_OTP.Row, 6).Value = "ok") Then
Affaires = No_OTP.Text
CheminFicExport = Sheets("START").Cells(No_OTP.Row, 5).Value
OTP_Court = Sheets("START").Cells(No_OTP.Row, 4).Value
TDB_Periode = Sheets("START").Range("PERIODE_TDB").Value
'Mise à jour des données ------------------------------------------------------------------------------------------
Sheets("TCD").Select
Range("SPF_AFFAIRES").Select
Range("SPF_AFFAIRES") = Sheets("START").Cells(No_OTP.Row, 3).Value
Selection.NumberFormat = "@"
ActiveSheet.PivotTables("TCD_SPF").PivotCache.Refresh
Sheets("TCD").Select
Range("SATURN_AFFAIRES").Select
Range("SATURN_AFFAIRES") = Sheets("START").Cells(No_OTP.Row, 3).Value
Selection.NumberFormat = "@"
ActiveSheet.PivotTables("TCD_SATURN").PivotCache.Refresh
Sheets("CALCUL CJIF").Select
Range("CJIF_AFFAIRES").Select
Range("CJIF_AFFAIRES") = Sheets("START").Cells(No_OTP.Row, 3).Value
Selection.NumberFormat = "@"