Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Forcer au format texte des variables en VBA

seb26000

XLDnaute Occasionnel
Bonjour

J’ai un problème pour réaliser une recherche multicritères en VBA à partir de plages nommées (equivalent à sommeprod en excel).

J’ai nommée différentes plages de données, notamment :
- TRANCHE
- SYSTEME_ELEMENTAIRE
- NUMERO
- BIGRAMME
- DATE_POSE

Je tente de comparer à chacunes des plages nommées une variable. Or, je me suis apercu que le probleme provient du format des différents variables et plages nommées.
Comment forcer en VBA le format texte à ces variables et plages nommées ?
Je sais qu'il existe sous excel la fonction TEXTE (variable;"0"). Mais en VBA je ne trouve pas...

Merci d'avance !!!!

Seb

-----------------------------------------------------------------------------------
Sub controle_presence()

Dim TR As String
Dim SE As String
Dim NUM As String
Dim bi As String


Sheets("DEMANDE").Select
TR = Range("J5")
SE = Range("M5")
NUM = Range("Q5")
bi = Range("V5")

Resul = Evaluate("=sum((TRANCHE=" & TR & ")*(SYSTEME_ELEMENTAIRE=" & SE & ")*(NUMERO=" & NUM & ")*(BIGRAMME=" & bi & ")*(DATE_POSE=""""))")

Range("A2") = Resul

End Sub

------------------------------------------------------------------------------------

Pour vérifier le test, j’ai fait apparaître le résultat du code en « A2 » mais il reste toujours à 0 quelque soit les valeurs….

Qui peut m’aider car là je ne comprends plus rien !!
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Forcer au format texte des variables en VBA

Bonjour Seb, bonjour le forum,

peut-être comme ça :
Code:
TR = CStr(Range("J5"))
SE = CStr(Range("M5"))
NUM = CStr(Range("Q5"))
bi = CStr(Range("V5"))
 

seb26000

XLDnaute Occasionnel
Re : Forcer au format texte des variables en VBA

Je viens de tester le code et ça fonctionne très bien ! Merci


Merci encore

Voici ce que j'ai fait :
----------------------------------------------------------------------------------
Sub controle_presence()

' Macro pour vérifier la présence de demande déjà en cours
' Macro enregistrée le 16/08/2011 par Sébastien

Dim TR As String
Dim SE As String
Dim NUM As String
Dim bi As String


Sheets("DEMANDE").Select
TR = CStr(Range("J5"))
SE = CStr(Range("M5"))
NUM = CStr(Range("Q5"))
bi = CStr(Range("V5"))


Resul = Evaluate("=sum((TRANCHE=""" & TR & """)*(SYSTEME_ELEMENTAIRE=""" & SE & """)*(NUMERO=""" & NUM & """)*(BIGRAMME=""" & bi & """)*(DATE_POSE=""""))*1")

Range("A2") = Resul


End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…