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 selection Xldown [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Décembre 2012
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 102
    Par défaut Probléme de selection Xldown
    Bonjour;

    J'ai un ptit probléme de selection de plage je veux à travers ce code selectionne le reste de mon tableau quand je trouve une cellule dans l'entéte contenant une valeur précise ( fils , ou vide) :

    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
     
     
    Private Sub CommandButton1_Click()
     
    Dim cell As Range
     
    For Each cell In Range("C9:AH9")
     
    If cell.Value = "Fils" Or cell.Value = "Vide" Then
        cell.Select
        Range(Selection, Selection.End(xlDown)).Select
        Range(Selection, Selection.End(xlDown)).Select
        Range(Selection, Selection.End(xlDown)).Select
        Range(Selection, Selection.End(xlDown)).Select
        Range(Selection, Selection.End(xlToRight)).Select
     
        End
     
    else
     
    Next cell
     
    End If
     
     
    End Sub

    Mais J'ai un probléme lors de la selection la plage selectioner se répéte et l'instruction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Range(Selection, Selection.End(xlDown)).Select
    *

    ne se refére pas à la selection précédente , J'ai essayé de faire l'instruction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     selection(Selection, Selection.End(xlDown)).Select

    Merci de me donner une solution .. !!

  2. #2
    Membre éprouvé
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Octobre 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 46
    Par défaut
    Bonjour,

    Je ne sais pas ce que vous voulez faire, mais en tout cas un xlDown donc vers le bas, ne vous donnera pas la sélection précédente (vers le haut).

    Pouvez-vous nous donner la structure de votre fichier et expliquer simplement ce que vous voulez faire.

    Merci.

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Décembre 2012
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 102
    Par défaut Voilà mon fichier
    Bonjour,

    Je pense que je me suis male exprimé , bon je veux la syntaxe qui rajout la selection à celle précédente , je veux selectionne une partie d'un tableaux qui varrie en fonction de la cellule selectionné au départ , et pour en faire j'ai utilisé le code 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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
     
    Private Sub CommandButton1_Click()
     
    Dim cell As Range
     
    For Each cell In Range("C9:AH9")
     
    If cell.Value = "Fils" Or cell.Value = "Vide" Then
    'Le probléme est ici ... pour la selection à ce niveau ... Chaque ligne de code ne dépend pas de la ligne précédente .. Or mon tableau comme claire ci-joint est construit de plusieurs tableau l'un aprés l'autre
     
     
    cell.Select
        Range(Selection, Selection.End(xlDown)).Select
        Range(Selection, Selection.End(xlDown)).Select
        Range(Selection, Selection.End(xlDown)).Select
        Range(Selection, Selection.End(xlDown)).Select
        Range(Selection, Selection.End(xlToRight)).Select
     
     
     
     
        End
     
    End If
     
    Next cell
     
    End Sub
    Mon besoin et de trouver le code qui me selectionne le reste de mon tableau à droite et en bas au moment ou ma condition if devient vrai ..

    J'espére étre le plus claire possible

    Merci d'avance
    Fichiers attachés Fichiers attachés

  4. #4
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour Matrixmax, Enernaej, le forum

    Si j’ai bien compris, la plage à sélectionner est délimitée comme cela :
    - les colonnes sont celles qui contiennent " Fils" ou "Vide" dans la ligne 9.
    - La première ligne est la ligne 9.
    - La dernière ligne est celle du premier tableau.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub CommandButton1_Click()
    Dim cell As Range
    Dim ColDebut As Integer, ColFin As Integer
    Dim DerLig As Long
    Const PremLig = 9
        DerLig = Range("A9").End(xlDown).Row
        For Each cell In Range("C9:AH9")
            If cell.Value = "Fils" Or cell.Value = "Vide" Then
                If ColDebut = 0 Then ColDebut = cell.Column
                ColFin = cell.Column
            End If
        Next cell
        Range(Cells(PremLig, ColDebut), Cells(DerLig, ColFin)).Select
    End Sub
    Cordialement.

  5. #5
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Décembre 2012
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 102
    Par défaut
    Bonjour Monsieur;

    Le code ne marche pas au niveau de cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    Range(Cells(PremLig, ColDebut), Cells(DerLig, ColFin)).Select
    Or , pour bien exprimer mon besoin

    je veux une fois le progamme me trouvera une cellule dans la ligne 9 contiennent " Fils" ou "Vide" im me selectionnera tout le rest de mon tableau ainsi que les tableau au dessus de ce dernier on partant par la cellule contenant la premiére "fils" ou "vide"


    merci pour l'iterrét que tu donne à mon sujet

  6. #6
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Le plus simple, c'est que tu joignes le classeur avec la plage colorée afin que l'on puisse visualiser ce que tu recherches.

    Cordialement.

  7. #7
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Décembre 2012
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 102
    Par défaut
    Rebonjour,


    trés bonne idée

    la selection devras étre le reste des cellule "à droite et en bas" de la plage ("C9:AH29") une fois le programme trouve "fils" ou "vide" dans le contenu d'une cellule de la ligne 9

    alors dans cet exemple ci-joint , la plage coloré en jaunne est celle concerné par la selection , elle débute par la cellule contenant la valeur "fils" ,

    par ailleurs il se peut que la selection change si l'enplacement de "fils" change dans la ligne 9



    Merci encore une fois !!
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. Problème de "select" avec des valeurs a null
    Par SchpatziBreizh dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/07/2005, 16h08
  2. Problème de select sur une date (DATETIME....)
    Par zeldoi5 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 16/05/2005, 11h19
  3. [XSL] Petit problème de selection d'un noeud
    Par Greg L. dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 25/04/2005, 09h39
  4. Problème avec select top
    Par franculo_caoulene dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 10/12/2004, 14h55
  5. problème DBLookupListBox selection
    Par kardevlop dans le forum Bases de données
    Réponses: 11
    Dernier message: 17/08/2004, 11h53

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