EXCEL | VBA | Programme

Fermé
ROMAIN78650 Messages postés 23 Date d'inscription mercredi 5 mars 2014 Statut Membre Dernière intervention 1 mai 2021 - 10 nov. 2014 à 18:38
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 - 10 nov. 2014 à 18:56
Bonjour,

J'ai un soucis avec VBA.
En fait j'ai un select case avec 100 Cas.

Le problème c'est que les conditions de mon if sont nombreuses et donc très long (pas en terme de temps mais en terme d'espace).
Du coup excel me renvoie un message :





Est-ce qu'il y a une solution à ce problème, une extension ou autre... :-)


En vous remerciant par avance

cordialement

Romain
A voir également:

3 réponses

via55 Messages postés 14502 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 9 décembre 2024 2 736
10 nov. 2014 à 18:48
Bonsoir

Fait d'abord une boucle sur tes conditions pour déterminer si CREATION existe dans tes lignes

OK=0
For n= 1 to 29
if Range("F" & E5_LVun +n)="CREATION" then OK=1
Next
If OK = 1 then


Cdlmnt

0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
10 nov. 2014 à 18:49
Bonjour,

Tu dois pouvoir placer une boucle
    For i = 0 To 99
If Range("F" & E5_LVun + i) = "CREATION" Then
'....
End If
Next i


A+
0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 428
10 nov. 2014 à 18:56
Une petite fonction OK qui renvoie VRAI si on trouve au moins une occurrence du mot TRUC dans une plage donnée

Const NF = "Feuil1"
Const test = "TRUC"

Public Function OK(co As String, lidep As Long, nbli As Long) As Boolean
Dim plage As Range, nb As Long
Set plage = Sheets(NF).Range(co & lidep & ":" & co & lidep + nbli - 1)
nb = Application.WorksheetFunction.CountIf(plage, test)
If nb > 0 Then OK = True Else OK = False
End Function

Public Sub TestOK()
MsgBox OK("A", 2, 5)
End Sub


Cordialement
0