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 :

Selection avec condition [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 6
    Par défaut Selection avec condition
    Bonjour,
    J'essaye d'établie un code afin de selectionner automatiquement une cellule en fonction d'une autre.
    Pour être plus précise, j'ai un fichier de synthèse avec en colonne les différents mois de l'année (sous la forme 2015-01, 2015-02...) commençant à partir de C2. Je souhaiterais, en remplissant le nom du mois en B1 selectionner la cellule en dessous du mois correspondant.
    Par exemple si j'écris 2015-01 en B1 j'aimerais selectionner la cellule C3 pour commencer la saisis dans la colonne correspondant à 2015-01.
    Pour cela j'ai utilisé la fonction For...if...then...next. Cependant un message d'erreur s'affiche (Erreur d'exécution'13':incompatibilité de type) et je ne parviens pas à trouver mon erreur.

    Mon code est le suivant

    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
    Sub Selection()
    '
     
     Dim DernCol1 As Range
     Dim imois As Integer
     
     Set DernCol1 = Range("IV2").End(xlToLeft)
     For imois = 3 To DernCol1
     
     If Sheets("synthèse").Cells(2, imois) = Range("B1") Then
     Sheets("synthèse").Cells(3, imois).Select
    End If
    Next
     
    End Sub
    Merci d'avance pour votre aide

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Tu ne le précises pas, mais je pense que l'erreur est levée par cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For imois = 3 To DernCol1
    ET c'est bien normal, car DernCol1 est une cellule, probablement vide.

    Tu peux essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For imois = 3 To DernCol1.Column
    Cordialement,

    pgz

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 6
    Par défaut
    Bonjour

    C'était bien cela, merci beaucoup

    je ne voudrais pas abuser mais j'ai également un autre petit soucis. Les données de chaque mois sont stockées dans un nouvel onglet à chaque fois. J'aimerais pouvoir selectionner les données de la feuille correspondant au mois renseigné en B2.
    Exemple: j'indique en B2 2015-01 j'aimerais que les données de l'onglet 2015-01 soient copié dans l'onglet synthèse. Pour la formule de copie je l'ai fait sans problème j'ai juste du mal dans la déclaration des variables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    'Déclaration des variables
    Dim FeSource As Worksheet
    Dim FeDest As Worksheet
    Dim Mois As Variant
     
    'Attribution d'une valeur à une variable
    Set FeSource = Sheets("Mois")
    Set FeDest = Sheets("synthèse")
    Set Mois = Sheets("synthèse").Range("B1")
    Enfait j'aimerais dire que la feuille FeSource correspond à la feuille du mois écrit en B2 mais je n'arrive pas à le formuler.

    En tout cas merci beaucoup pour votre temps et de votre réponse rapide cela faisait des heures que j'étais bloquée

  4. #4
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Re,

    Tu peux faire un truc comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    '...
    Dim sMois as string
     
    '...
    sMois = Thisworkbook.Worksheets("NomFeuille").Range("B2").Value
    Set FeSource = ThisWOrkbook.Worksheets(sMois)
    Bien sûr, on peut aussi tout écrire en une ligne mais ce ne serait pas plus clair...

    Cordialement,

    pgz

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 6
    Par défaut
    Cela fonctionne très bien, merci beaucoup :-)

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

Discussions similaires

  1. [XSLT] SELECT avec condition
    Par olbouss dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 03/04/2008, 10h10
  2. Réponses: 0
    Dernier message: 05/02/2008, 10h09
  3. Select avec Condition et Valeurs Introduites
    Par faressam dans le forum Requêtes et SQL.
    Réponses: 14
    Dernier message: 16/08/2007, 14h50
  4. [HyperFile] requete de selection avec condition de comptage
    Par pierre.zelb dans le forum HyperFileSQL
    Réponses: 1
    Dernier message: 16/02/2006, 10h20
  5. Réponses: 6
    Dernier message: 08/06/2004, 14h51

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