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 :

utilser un code VBa sur plusieurs lignes [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 46
    Par défaut utilser un code VBa sur plusieurs lignes
    Bonjour le Forum

    Je possède des données rentrée sous cette forme :
    Nom : image 1.png
Affichages : 210
Taille : 124,3 Ko

    dans la listbox apparait les éléments des colonnes impaires (A,C,E,G.....)
    lors de la selection d'un des éléments j'affiche la case qui lui corespond à sa droite (ex : Selection de A4, textbox1 affiche : B4)

    je possède ce code :

    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
    Private Sub ListBox1_Click()
     
    Label1.Visible = True
    Label1.Caption = "emplacement"
    TextBox1.Visible = True
     
    Dim R As Range
    Dim C As Range
    '---
    Set R = Sheets("Feuil5").[a4,c4,e4,g4,i4,k4,m4,o4,q4,s4,u4,w4,y4].CurrentRegion
    For Each C In R
      If C = ListBox1.Value Then
        TextBox1.Text = C.Offset(0, 1)
        Exit For
      End If
    Next C
     
     
    End Sub
    Le problème de ce code c'est qu'il ne fonctionne que pour la première ligne de donnée (A8 à A41)
    Comment faire pour qu'il fonctionne sur A45:A61 ; A67:A75; A80:A90 .... ou tout simplement qu'il prenne en compte toute la colonne "a"
    (Je ferai la même chose pour c,e,g,i,k....)

    Merci de votre attention*

    Cordialement

  2. #2
    Membre émérite
    Avatar de eric4459
    Homme Profil pro
    Ingénieur Gestion de Projets
    Inscrit en
    Avril 2014
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Gestion de Projets
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 605
    Par défaut
    Bonjour,
    Pour être rapide , tu pourrais essayer :
    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
    Dim R As Range
    Dim S As Range
    Dim C As Range
    '---
    Set R = Sheets("Feuil5").[a4,c4,e4,g4,i4,k4,m4,o4,q4,s4,u4,w4,y4].CurrentRegion
    Set S = Sheets("Feuil5").[a44,c44,e44,g44,i44,k44,m44,o45,q44,s44,u44,w44,y44].CurrentRegion
    For Each C In R
      If C = ListBox1.Value Then
        TextBox1.Text = C.Offset(0, 1)
        Exit For
      End If
    Next C
     
    For Each C In S
      If C = ListBox1.Value Then
        TextBox1.Text = C.Offset(0, 1)
        Exit For
      End If
    Next C
    On pourrait développer un autre code mais cela demanderai un peu plus de temps
    Eric
    "Vous n’avez cessé d’essayer ? Vous n’avez cessé d’échouer ? Aucune importance !
    Réessayez, échouez encore, échouez mieux." Samuel Beckett
    Pensez aux balises et
    Visitez les FAQ Excel et allez faire un tour ici
    Tutoriels de SilkyRoad

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 46
    Par défaut
    Bonjour,

    J'avais déjà essayé cette solution, mais je me suis mal exprimé.

    dans ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set R = Sheets("Feuil5").[a4,c4,e4,g4,i4,k4,m4,o4,q4,s4,u4,w4,y4].CurrentRegion
    Je ne comprend pas mon 4 après mes lettres.
    Mes données démare ligne 8!!!
    Si je met a8 rien ne s'affiche
    si je met a4, mes données S'affiche

    j'avais essayé ta méthode pour me simplifier la vie mais je possède 1600 données pour environ 300 bases de données répartit à chaque ligne donc ça risque de me prendre beaucoup de temps :/

    Encore merci pour ta réponse.

  4. #4
    Membre émérite
    Avatar de eric4459
    Homme Profil pro
    Ingénieur Gestion de Projets
    Inscrit en
    Avril 2014
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Gestion de Projets
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 605
    Par défaut
    Matthieu,
    Et en faisant ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim Rng1 as Range
    Dim Page as Worksheet
    Set Page= ThisWorkbook.Sheets("Nom_de_ta_Feuille")
    Set Rng1= Page.Range("A8")
    Set R= Range(Rng1.Offset(0,0), Rng1.Offset(0,0).End(xlDown).End(xlToRight)
    For Each C in R
    code....
    et tu pourrais déclarer un autre range
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set Rng2= Page.Range("A45")
    Set S= Range(Rng2.Offset(0,0), Rng2.Offset(0,0).End(xlDown).End(xlToRight)
    Eric
    "Vous n’avez cessé d’essayer ? Vous n’avez cessé d’échouer ? Aucune importance !
    Réessayez, échouez encore, échouez mieux." Samuel Beckett
    Pensez aux balises et
    Visitez les FAQ Excel et allez faire un tour ici
    Tutoriels de SilkyRoad

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 46
    Par défaut
    Eric ! ça fonctionne parfaitement !

    un grand merci ! passe un bon week end et à bientot

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

Discussions similaires

  1. Recherche V ou code VBa sur plusieurs feuilles
    Par Jack67 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/09/2014, 23h13
  2. Fonction Sql "INSERT,UPDATE" en vba sur plusieurs lignes
    Par darkjeje dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/02/2013, 16h02
  3. [PPT-2007] Utiliser du code VBA sur plusieurs objets et pas qu'un seul
    Par beegees dans le forum VBA PowerPoint
    Réponses: 1
    Dernier message: 25/03/2010, 09h55
  4. [VBA-E] renvoyer le resultat d'un inputbox sur plusieur lignes
    Par ludo02 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/02/2007, 17h58
  5. Comment ecrire du code sur plusieurs lignes?
    Par tooneygirl dans le forum Access
    Réponses: 5
    Dernier message: 15/06/2005, 16h03

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