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 :

(multi) Range syntaxe ?


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 660
    Par défaut (multi) Range syntaxe ?
    Bonjour,

    Ici : j'ai trouvé ça :
    Les plages nommées permettent à la propriété Range de travailler plus facilement sur plusieurs plages. L'exemple suivant fonctionne si les trois plages nommées se trouvent sur la même feuille.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub ClearNamed() 
     Range("MyRange, YourRange, HisRange").ClearContents 
    End Sub
    J'ai donc adapté à mes besoins, comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    '    If Not Intersect(Range("Plage_Saisies"), Target) Is Nothing Then
        If Not Intersect(Range("Plage_Saisies, Plage_Matricules"), Target) Is Nothing Then
     
            Application.OnKey "%{RETURN}", "Inser_Comment"
        Else
            Application.OnKey "%{RETURN}", ""
        End If
    et ça ne fonctionne pas ! Sans doute erreur d'inattention de ma part ?!

    En vous remerciant par avance pour vos lumières,
    Cordialement,
    jp

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2021
    Messages
    334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2021
    Messages : 334
    Par défaut
    Salut , il me semble que Application.OnKey sert a appliquer une procédure a l’événement de touche clavier précisé.

    Exemple : lancer une macro quand on appuie sur ctrl + a

    Par contre pour retour a la normal il faut juste laisser le champ procédure vide.

    En suite il me semble également qu'on ne peut pas affecter n’importe quelle touche, Cf : https://docs.microsoft.com/fr-fr/off...lication.onkey

    Que cherche tu à faire exactement ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 660
    Par défaut
    Bonjour,

    Ma question concernait la syntaxe pour Intersect(Range) avec plusieurs plages distinctes

    Cdt
    jp

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2021
    Messages
    334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2021
    Messages : 334
    Par défaut
    Re, désolé mais tu ne précise pas vraiment ton problème, tu dis seulement
    et ça ne fonctionne pas ! Sans doute erreur d'inattention de ma part ?!
    Avec la fonction Union, essaye ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim UnionRange As Range
     
    Set UnionRange = Union(Me.Range("Plage_Saisies"), Target)
     
    If Not Intersect(UnionRange) Is Nothing Then
     
        Application.OnKey "%{RETURN}", "Inser_Comment"
    Else
        Application.OnKey "%{RETURN}", ""
    End If

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 660
    Par défaut
    Désolé pour mon manque de clarté,

    Set UnionRange = Union(Me.Range("Plage_Saisies"), Target)
    Oui, mais Plage_Saisies est 1 plage et quid de l'Union avec Plage_Matricules ?

    L'idée étant que
    Application.OnKey "%{RETURN}", "Inser_Comment"
    s'applique à l'une ou l'autre plage.

    Cdt
    jp

  6. #6
    Membre chevronné
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2021
    Messages
    334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2021
    Messages : 334
    Par défaut
    Pardon je me suis trompé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim UnionRange As Range
     
    Set UnionRange = Union(Me.Range("Plage_Saisies"), Me.Range("Plage_Matricules"))
     
    If Not Intersect(UnionRange, Target) Is Nothing Then
     
        Application.OnKey "%{RETURN}", "Inser_Comment"
    Else
        Application.OnKey "%{RETURN}", ""
    End If

  7. #7
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 660
    Par défaut
    C'est parfait ! Merci beaucoup !!

    Cordialement,
    jp

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

Discussions similaires

  1. [Débutant] Multi thread - Syntaxe + Attente fin de thread enfant
    Par jaune74 dans le forum C#
    Réponses: 4
    Dernier message: 27/02/2017, 21h36
  2. Syntaxe Range avec une variable pour la colonne
    Par Spykerman dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 25/06/2008, 13h50
  3. syntaxe référence cellule: [] ou range ?
    Par Chewi dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/07/2007, 10h19
  4. [XSD] multi range
    Par n00bi dans le forum Valider
    Réponses: 1
    Dernier message: 04/05/2006, 15h20
  5. erreur de syntaxe DELETE multi-tables
    Par yayacameleon dans le forum Requêtes
    Réponses: 7
    Dernier message: 12/04/2006, 11h34

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