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 = "@"