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 :

Sélection non contiguë de cellules dans une boucle For each [XL-2013]


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Chef d'équipe qualité
    Inscrit en
    Mai 2017
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Chef d'équipe qualité
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2017
    Messages : 7
    Par défaut Sélection non contiguë de cellules dans une boucle For each
    Bonjour,

    Je suis novice en Vba et je souhaite avoir des pistes/exemples pour un problème dont je ne trouve pas la solution malgré de nombreuses discussions lues et épluchées dans tous les sens

    J'ai un tableau composé ainsi :

    - 16 colonnes fixes (A à P)
    - Le nb de lignes est variable selon les saisies
    - La colonne J contient des cellules qui ne doivent pas être "re-coloriées"

    Le problème est de réaliser une sélection non contiguës de cellules par rapport au résultats de la boucle For each pour ensuite les colorier.

    > J'ai réussi à boucler la colonne K en fonction de la valeur que je recherche (string)
    > J'ai aussi réussi avec offset à colorier les colonnes précédentes (A à K) cependant je n'arrive pas à omettre la colonne J de la sélection ni à sélectionner les colonnes suivantes (L à P)
    > Je pense que j'ai qqch à faire avec des Range ou des Select avec la variable Cell utilisée dans la boucle mais je ne trouve pas

    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
    Option Explicit
     
    Sub Test_FM()
     
    Dim ValCherch As String
    Dim DerLign As Integer
    Dim Plage As Range
    Dim Cell As Range
     
     
    ValCherch = "FM"
     
    DerLign = Range("K65536").End(xlUp).Row 'N° de la dernière ligne saisie
     
        Set Plage = Range("K1" & ":K" & DerLign) 'Defini la plage
     
            For Each Cell In Plage
     
            If Cell.Value = ValCherch Then Range(Cell.Offset(0, -10), Cell).Interior.ColorIndex = 6
     
            'Comment ajouter aussi le décalage vers la droite sur colonnes L à P ?
            'Comment omettre la colonne J
     
            Next Cell 'Boucle tous les FM
     
    End Sub
    Je joint un fichier pour aider à comprendre

    Je ne veux pas svp une solution toute faite, mais juste des propositions ou des pistes pour que je comprenne par moi-même...sinon c'est trop facile et inutile !

    D'avance merci pour vos retours
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. [XL-2007] Copier coller plage de cellules dans une boucle For Each..Next
    Par JulieD33 dans le forum Excel
    Réponses: 3
    Dernier message: 02/03/2015, 11h19
  2. Chercher dans les valeurs d'une cellule dans une boucle For Next
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 28/09/2011, 15h30
  3. exception non levée malgré throw dans une boucle for
    Par marion5515 dans le forum Langage
    Réponses: 12
    Dernier message: 14/05/2009, 17h53
  4. test avant d'entrer dans une boucle For each cell in selection
    Par totoro02 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 13/01/2009, 09h27
  5. comment effacer un element dans un collection dans une boucle for each
    Par medkarim dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 17/10/2008, 12h48

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