IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

problème de select case


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de babybell
    Homme Profil pro
    Retraité Bancaire
    Inscrit en
    Septembre 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité Bancaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2008
    Messages : 495
    Par défaut problème de select case
    Bonjour amis du forum

    Je bute sur une instruction VBA, que je n'arrive pas à comprendre 'Select Case'.
    Je joins un extrait d'un fichier que je dois faire. Je ne sais pas comment regrouper dans la Feuil1 les chiffres des onglets S1 et S2.
    J'arrive bien à le faire avec des if then..., mais c'est vraiment trop long.

    Je sais que le principe de ma demande ne se fait pas, veuillez m'en excuser.

    Merci pour votre aide

  2. #2
    Membre émérite
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2006
    Messages
    542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 542
    Par défaut
    Bonsoir à tous
    Bonsoir babybell

    Je ne comprend pas pourquoi tu veux passer par du VBA, alors qu'une simple formule du type : pour la cellule B25 de la feuille 1 suffit.

    Eric

  3. #3
    Membre éclairé Avatar de Duddy
    Homme Profil pro
    Agent de maitrise
    Inscrit en
    Novembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations professionnelles :
    Activité : Agent de maitrise
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 257
    Par défaut
    Bonsoir babybell,

    Tu construis 2 tableaux comprenant chacun les zones à scruter :
    Range("a1:h9") et tu le fais regarder chaque valeur de cellule du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For Each c in "ton tableau"
    call test
    next
    Tu écris une procédure dans laquelle tu écris que les valeurs recherchées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    sub test
    select case c.value
    case is="ta recherche1"
    c.select
    ta variable=c.offset(1,0).value 'pour récupérer
     
    case is="ta recherche2"
    idem case 1
     
    end select
    end sub
    ensuite tu reportes dans ta feuille 1.

    Je ne sais si tous les termes sont appropriés dans mon post, mais en résumé, voilà le schéma à mettre en place et que j'utiliserais avec mes modestes connaissances.

  4. #4
    Membre éclairé Avatar de babybell
    Homme Profil pro
    Retraité Bancaire
    Inscrit en
    Septembre 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité Bancaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2008
    Messages : 495
    Par défaut
    Merci de vos réponses, mais le tableau que j'ai joint n'était qu'un extrait.
    J'ai 9 ou 10 onglets dans lesquels j'ai plus d'une centaine de lignes.
    Je pensais qu'avec des select case, je pouvais aller rechercher les infos qui sont ou non dans les onglets, d'après des constantes qui ne sont pas toujours présentes, et que le nombre de valeurs n'est pas toujours le même aussi; donc je ne peux faire comme le suggère edelweisseric.

  5. #5
    Membre éclairé Avatar de Duddy
    Homme Profil pro
    Agent de maitrise
    Inscrit en
    Novembre 2007
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France

    Informations professionnelles :
    Activité : Agent de maitrise
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2007
    Messages : 257
    Par défaut
    Bonjour,

    Le nombre d'onglet n'a pas d'importance. Tu vas créer une boucle qui te permettra de lire les onglets les uns après les autres. A chaque fois que tu sélectionne un onglet tu paramètres un tableau en fonction des cellules utilisées ensuite tu les parcours comme je te l'ai vaguement écris.

    Je ne sais pas si le nombre de "case is" est limité mais tu pourras y déterminer tes valeurs afin de pouvoir comptabiliser ce que tu recherches.

    Bon courage et voici un exemple de j'ai eu besoin pour affecter une valeur à une variable.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
          Select Case vMoisEnCours
     
          Case Is = "JANVIER"
               vMois(0) = "01" '& "/" & Year(Now)
     
          Case Is = "FEVRIER"
               vMois(0) = "02" '& "/" & Year(Now)
     
          Case Is = "MARS"
               vMois(0) = "03" '& "/" & Year(Now)
     
          Case Is = "AVRIL"
               vMois(0) = "04" '& "/" & Year(Now)
     
          Case Is = "MAI"
                vMois(0) = "05" '& "/" & Year(Now)
     
          Case Is = "JUIN"
                vMois(0) = "06" '& "/" & Year(Now)
     
          Case Is = "JUILLET"
               vMois(0) = "07" '& "/" & Year(Now)
     
          Case Is = "AOUT"
               vMois(0) = "08" '& "/" & Year(Now)
     
          Case Is = "SEPTEMBRE"
                vMois(0) = "09" '& "/" & Year(Now)
     
          Case Is = "OCTOBRE"
               vMois(0) = "10" '& "/" & Year(Now)
     
          Case Is = "NOVEMBRE"
               vMois(0) = "11" '& "/" & Year(Now)
     
          Case Is = "DECEMBRE"
               vMois(0) = "12" '& "/" & Year(Now)
     
          End Select

  6. #6
    Membre éclairé Avatar de babybell
    Homme Profil pro
    Retraité Bancaire
    Inscrit en
    Septembre 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité Bancaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2008
    Messages : 495
    Par défaut
    Merci à toi et bonne soirée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de select case
    Par Z3phur dans le forum SQL
    Réponses: 3
    Dernier message: 13/12/2007, 10h31
  2. [Débutant] Problème avec select case
    Par feynman dans le forum Fortran
    Réponses: 2
    Dernier message: 11/09/2007, 15h35
  3. Problème avec select case
    Par juliopony dans le forum Fortran
    Réponses: 4
    Dernier message: 14/06/2007, 20h57
  4. Problème avec Select case !
    Par kaiser59 dans le forum ASP
    Réponses: 4
    Dernier message: 27/05/2007, 12h55
  5. [ASP3] problème de select case
    Par beegees dans le forum ASP
    Réponses: 13
    Dernier message: 03/02/2006, 10h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo