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 :

macro pour plusieurs cellules selectionnees


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
    Octobre 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 31
    Par défaut macro pour plusieurs cellules selectionnees
    Bonjour, aujourd’hui j’ai ce tableau :
    Nom : Capture11.PNG
Affichages : 669
Taille : 10,9 Ko
    Lorsque je fais un clic droit sur ma cellule, celle-ci change de couleur, pour l’instant j’ai réussi a lancer ma macro dès que je cliquais sur ma cellule or j’aimerais procéder autrement.. Je voudrais pouvoir sélectionner plusieurs cellules comme cela par exemple :Nom : Capture13.PNG
Affichages : 730
Taille : 12,6 Ko
    et qu'a l'appui du bouton go que ma macro s'exécute pour chaque cellules selectionnees en rouge
    J'utilise ceci pour changer de couleur a ma cellule :
    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
    Private Sub Worksheet_BeforeRightClick(ByVal target As Range, Cancel As Boolean)
     
    Set plage = Range("tab_releves_oscillo")
    If Intersect(target, plage) Is Nothing Then Exit Sub
    Cancel = True
    If target.Interior.ColorIndex = 48 Then
        target.Interior.ColorIndex = 3
        target.Font.ColorIndex = 1
     
    Else
        target.Interior.ColorIndex = 48
        target.Font.ColorIndex = 1
     
    End If
     
    End Sub
    et pour lancer ma macro pour une cellule ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Not Intersect(target, plage) Is Nothing Then
     
        Call commandbutton_dechg(0, target, ActiveSheet.Name)
     
    End If
    merci d'avance..

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2015
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2015
    Messages : 142
    Par défaut
    Bonjour,

    Sur le click de votre bouton, vous pouvez peut-être essayer ce genre de code. A vous de bidouiller dans l'objet Selection :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub test()
        Dim plage As Range
        Set plage = Selection
        With plage
            MsgBox .Address
            MsgBox .Columns.Count
            MsgBox .Rows.Count
        End With
    End Sub

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 31
    Par défaut
    En faite ce que je voudrais c'est que si la ou les cellules sont en rouge lorsque j'appuierais sur go il exécutera chaque cellule les unes après les autres mais je n'arrive pas a trouver toutes les cellules en rouge de mon tableau

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 31
    Par défaut
    Voici le code que j'utilise pour le faire sur une cellule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Worksheet_BeforeRightClick(ByVal target As Range, Cancel As Boolean)
     
    Set plage = Range("tab_releves_oscillo")
    target.Interior.ColorIndex = 3
    target.Font.ColorIndex = 1
     
    If Not Intersect(target, plage) Is Nothing Then
        Call commandbutton_page_dechg(0, target, ActiveSheet.Name)
    End If
     
    target.Interior.ColorIndex = 48
    target.Font.ColorIndex = 1
    End Sub
    cependant je n'arrive toujours pas à l'exécuter avec plusieurs cellules

Discussions similaires

  1. Macro pour fusionner cellules excel
    Par derech dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/10/2007, 10h04
  2. [VBA-E]Macro pour positionnement cellule
    Par Micky58 dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 25/04/2007, 11h54
  3. [VBA-E] Comment appliquer une macro sur plusieurs cellules
    Par jeanpierreco dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 25/01/2007, 10h54
  4. [VBA Excel] Une même macro pour plusieurs CheckBox
    Par Choupett' dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 16/06/2006, 13h54
  5. [VBA-E] Macro pour copier cellules
    Par jfamiens dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 07/06/2006, 20h02

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