EXCEL | VBA | Programme

ROMAIN78650 Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   -  
ccm81 Messages postés 11033 Statut Membre -
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

3 réponses

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
  2. Gyrus Messages postés 3360 Statut Membre 526
     
    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
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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