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 :

Barre de défilement - Macro pour gérer la valeur max [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
    Ergonome
    Inscrit en
    Décembre 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : Décembre 2015
    Messages : 31
    Par défaut Barre de défilement - Macro pour gérer la valeur max
    Bonjour,

    je cherche une macro qui puisse gérer la valeur max, rattachée à une cellule liée.

    Pour être plus clair,

    J'ai des données qui défile avec ma barre de défilement.
    Mais, je peux avoir 20 lignes de données ou 300 lignes.

    Mon idée est de déterminer dans une cellule liée, le nombre de lignes de donnée.

    Et la macro détermine la valeur max avec cette valeur liée.



    Merci à vous d'avance pour votre aide

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Citation Envoyé par amorapa Voir le message
    [...]

    J'ai des données qui défile avec ma barre de défilement.
    [...]
    C'est quoi, ta barre de défilement?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Par défaut
    Bonsoir à tous,
    Si tu parles de cellule liée, je pense que ta barre de défilement est un contrôle formulaire, la valeur est fixée dans ses propriétés et ne peut pas être changée par macro je crois.
    Il serait bon de le remplacer par un contrôle ActiveX et là c'est possible par la propriété ScrollBar1.Max

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Je rejoint Pierre sur la définition de barre de défilement.

    De ce que j'en comprens on dirait un bandeau publicitaire ou le texte défile!

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Si HopHopHop a vu juste avec la barre de défilement, tu peux t'inspirer de ce code, qui suppose que tu aies une barre de défilement appelée "ScrollBar1") sur la feuille active.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Shapes("ScrollBar1").DrawingObject.Max = Range("d1").Value
    A toi d'adapter, par exemple en faisant compter le nombre de lignes à la macro
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #6
    Membre averti
    Homme Profil pro
    Ergonome
    Inscrit en
    Décembre 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : Décembre 2015
    Messages : 31
    Par défaut
    Citation Envoyé par Pierre Fauconnier Voir le message
    Salut.

    C'est quoi, ta barre de défilement?
    Merci pour vos réponses,

    Je parle de la barre défilement de l'onglet développeur / insérer contrôle formulaire

    Citation Envoyé par Pierre Fauconnier Voir le message
    Si HopHopHop a vu juste avec la barre de défilement, tu peux t'inspirer de ce code, qui suppose que tu aies une barre de défilement appelée "ScrollBar1") sur la feuille active.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Shapes("ScrollBar1").DrawingObject.Max = Range("d1").Value
    A toi d'adapter, par exemple en faisant compter le nombre de lignes à la macro
    Je parle de la barre de défilement avec les contrôle formulaires.

    Mais je ne comprend pas trop, la différence avec ce qu'on appelle active X.

    Dans la barre de défilement normal (sans contrôle active x), on peut pourtant affecter une macro ?

    Je cherche à pour voir gérer la valeur max

    Merci

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    La ligne de code que je te donne manipule la barre de défilement des contrôles de formulaire. As-tu essayé?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  8. #8
    Membre averti
    Homme Profil pro
    Ergonome
    Inscrit en
    Décembre 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : Décembre 2015
    Messages : 31
    Par défaut J'ai essayé avec la barre de défilement normale (sans controle active X)
    Mais cela me met un message d'erreur.

    Mais cette ligne de code est pour quelle barre de défilement

    Sans controle X
    ou controle X

    Merci

  9. #9
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Par défaut
    Peut-être en remplaçant "ScrollBar1" par "Barre de défilement 1" ?

  10. #10
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    C'est pour un contrôle de formulaire (donc PAS un ActiveX). C'est dit explicitement dans le message

    Ce serait intéressant que tu nous mettes le code d'erreur que tu reçois... As-tu bien adapté ton code en fonction de ta config? Si tu relis mon message, je t'y écris que tu dois adapter. Dès lors, cela dépend du nom que tu as donné à ton contrôle. L'as-tu renommé (c'est toujours mieux)? Si oui, as-tu adapté le nom dans le code que je t'ai donné? Es-tu sûr que la feuille qui contient le contrôle est bien la feuille active?

    Plutôt que de poster ton fichier, poste ton code.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  11. #11
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Spécifie également ta version d'Excel stp...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  12. #12
    Membre averti
    Homme Profil pro
    Ergonome
    Inscrit en
    Décembre 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : Décembre 2015
    Messages : 31
    Par défaut
    Voici le code source pour ma barre de défilement avec ta ligne de code

    Citation Envoyé par Pierre Fauconnier Voir le message
    C'est pour un contrôle de formulaire (donc PAS un ActiveX). C'est dit explicitement dans le message

    Ce serait intéressant que tu nous mettes le code d'erreur que tu reçois... As-tu bien adapté ton code en fonction de ta config? Si tu relis mon message, je t'y écris que tu dois adapter. Dès lors, cela dépend du nom que tu as donné à ton contrôle. L'as-tu renommé (c'est toujours mieux)? Si oui, as-tu adapté le nom dans le code que je t'ai donné? Es-tu sûr que la feuille qui contient le contrôle est bien la feuille active?

    Plutôt que de poster ton fichier, poste ton code.
    Mon code pour la barre de défilement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub Barrededéfilement2_QuandChangement()
    ActiveSheet.Shapes("ScrollBar1").DrawingObject.Max = Range("B3").Value
    End Sub

    Ma cellule lié est B3

    Voilà

    Mais j'ai un message d'erreur avec plein de chiffres

    Citation Envoyé par Pierre Fauconnier Voir le message
    Spécifie également ta version d'Excel stp...
    Excel 2010

    Le fichier avec le code et le message d'erreur
    http://www.cjoint.com/c/ELgvcpvppeA

  13. #13
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Par défaut
    D'après ton fichier, il faut mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Shapes("Barre de défilement 2").DrawingObject.Max = Range("G2").Value
    Comme disait Pierre, il fallait adapter le nom de la barre de défilement ;
    G2 est la valeur max de défilement ;
    B3, la cellule liée est la valeur de la barre de défilement et non la valeur max.

  14. #14
    Membre averti
    Homme Profil pro
    Ergonome
    Inscrit en
    Décembre 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ergonome

    Informations forums :
    Inscription : Décembre 2015
    Messages : 31
    Par défaut Merci a TOUS
    Désolé d'être aussi nul en macro,

    Mais, je fais l'effort ensuite de comprendre la solution que vous m'avez apporté.


    Merci encore à tous

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

Discussions similaires

  1. macro pour calculer les valeurs
    Par Daniela dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 06/10/2009, 08h56
  2. [XL-2007] Macro pour récupérer la valeur d'une formule avec Aujourd'hui
    Par patougaffou dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 28/09/2009, 18h28
  3. Une macro pour gérer mes mails envoyés et reçus
    Par memet dans le forum VBA Outlook
    Réponses: 5
    Dernier message: 30/04/2008, 20h09
  4. petite aide sur une macro pour transfere de valeur
    Par fpouzou dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/06/2007, 16h54
  5. [VBA-E] Probleme Macro pour gérer des cases à cocher
    Par bibiche2184 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/06/2006, 18h03

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