Exclure de cellules dans une plage

Résolu
andy2092 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   -  
andy2092 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai créé un formulaire avec une listbox qui contient une plage de cellule. Cependant je souhaiterai que certaines cellules de la plage ne soient pas affichées dans le formulaire (ex : une cellule contenant un total ou des nombres). Cela est-il possible ?

Merci

4 réponses

  1. danielc0 Messages postés 2187 Date d'inscription   Statut Membre Dernière intervention   287
     
    Bonjour,

      For Each C In Plage
    If Not IsNumeric(C.Value) Then
    Me.ListBox1.AddItem C.Value
    End If
    Next C


    Cordialement.

    Daniel
    0
    1. andy2092 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour,

      Merci pour l'info. Désolé mais j'ai fait une erreur ! Dans ma plage il y a que du texte mais il existe des parties genre "total" que je ne veux pas inclure dans mon formulaire. Est-ce possible ?
      0
  2. danielc0 Messages postés 2187 Date d'inscription   Statut Membre Dernière intervention   287
     
    For Each c In plage
    If c Like "*total*" = False Then
    Me.ListBox1.AddItem c.Value
    End If
    Next c
    0
  3. andy2092 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention  
     
    Cela ne fonctionne malheureusement pas. Voici un exemple qui est illustré dans les images.

    La disposition des données et du formulaire est la même que sur mon fichier réel.



    0
  4. danielc0 Messages postés 2187 Date d'inscription   Statut Membre Dernière intervention   287
     
    Regarde :

    0
    1. danielc0 Messages postés 2187 Date d'inscription   Statut Membre Dernière intervention   287
       
      PS. Les majuscules et les minuscules comptent. Si tu veux les ignorer, mets :

      Set plage = [A1:A10]
      For Each c In plage
      If UCase(c.Value) Like "*TOTAL*" = False Then
      Me.ListBox1.AddItem c.Value
      End If
      Next c


      Daniel
      0
    2. danielc0 Messages postés 2187 Date d'inscription   Statut Membre Dernière intervention   287
       
      Oups :
      If UCase(c.Value) Like UCase("*TOTAL*") = False Then


      Danniel
      0
    3. andy2092 Messages postés 78 Date d'inscription   Statut Membre Dernière intervention  
       
      Ça marche super merci ! Par contre j'ai également une autre cellule contenant "Ligne Vierge" que je ne veux pas inclure dans le formulaire. Est-ce possible de l'inclure dans le code en plus du "TOTAL" ?
      0
    4. danielc0 Messages postés 2187 Date d'inscription   Statut Membre Dernière intervention   287
       
      En supposant que ta cellule ne contienne rien :

      Set plage = [A1:A10]
      For Each c In plage
      If UCase(c.Value) Like UCase("*TOTAL*") = False And c.Value <> "" Then
      Me.ListBox1.AddItem c.Value
      End If
      Next c


      Sinon :

      Set plage = [A1:A10]
      For Each c In plage
      If UCase(c.Value) Like UCase("*TOTAL*") = False And _
      c.Value <> "Ligne Vierge" Then
      Me.ListBox1.AddItem c.Value
      End If
      Next c


      Daniel
      0
    5. danielc0 Messages postés 2187 Date d'inscription   Statut Membre Dernière intervention   287
       
      PS. "Set plage = [Nom onglet! A1:A10] ? "

      Oui, sauf si le nom comporte des espaces. Il faut alors, comme dans Excel, le mettre entre apostrophes :

      Set plage = ['Nom onglet'! A1:A10] ? 
      0