[Catégorie modifiée .Net -> VBA] Fonction SI + NB.SI Excel en VBA

pomdeterfrite Messages postés 1 Date d'inscription vendredi 29 octobre 2010 Statut Membre Dernière intervention 29 octobre 2010 - 29 oct. 2010 à 15:32
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 29 oct. 2010 à 18:56
Bonjour à tous !

Je cherche désespéremment à transcrire une formule avec un NB.SI en code VBA (afin d'alléger les délais d'ouverture car j'ai une comparaison qui se fait entre 2 fichiers différents sur 4000 lignes)

Voici la formule que je veux remplacer :
SI(NB.SI('[TdB.xls]Status'!$G:$G;Base!C5)>0;"x";"")

elle permet de trouver au moins un cas dans la plage G:G d'un autre fichier (TdB.xls) égal à la colonne C de mon fichier actuel et si c'est le cas je met un "x" dans la colonne O de mon fichier actuel.

1 réponse

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
29 oct. 2010 à 18:56
Bonjour,

tu pourrais passer par la fonction FIND et si il trouve une réponse, alors tu mets un X dans ta colonne O.

Exemple :


Sub test()
Val_a_chercher = Sheets("Base").Range("C5").Value
Workbooks("TdB.xls").Activate
bTrouve = cherchC("Status", Val_a_chercher)
If bTrouve = True Then
    Sheets("Base").Range("O5").Value = "X"
End Sub


Function cherchC(nomF As String, valCherch As String) As Boolean
'fonction de recherche...
'**********************************************************
Dim vc As Variant
Sheets(nomF).Activate
Sheets(nomF).Range("G1").Activate
Set vc = Range("G:G").Find(what:=valCherch, lookAt:=xlWhole, After:=ActiveCell, SearchOrder:=xlByColumns, SearchDirection:=xlNext, LookIn:=xlValues, MatchCase:=False, SearchFormat:=False)
If Not vc Is Nothing Then
    cherchC = True
Else
    cherchC = False
End If
End Function



A adapter à tes besoins.. mais je pense que ça devrait t'aider à avancer...

Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
Rejoignez-nous