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 :

Présentation cellule active ou absolue ?


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 80
    Par défaut Présentation cellule active ou absolue ?
    Bonsoir,
    Je vous expose mon problème.
    Sur une feuille, j'ai une cellule à renseigner et à coté, j'ai un bouton qui permet de lancer une macro qui récupère la valeur saisie. Cette macro fonctionne très bien. J'ai constaté que si je saisis (sans valider) et que je clique sur le bouton, la macro se lance naturellement sans récupérer la valeur saisie. Faut-il récupérer la cellule active ou plutôt la cellule "nommée"?
    Je ne sais pas donc si il est mieux de choisir une récupération de valeur sur la cellule active ou sur cellule nommée, quelle est votre postion.

    Merci pour votre aide
    Pascal
    Images attachées Images attachées  

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 055
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Le titre de la discussion est " Présentation cellule active ou absolue ?" or dans la question tu parles de cellule nommée. Ce sont trois sujet différents.

    Lorsque l'on sélectionne une ou plusieurs cellules, contiguës ou pas, il n'y a qu'une seule cellule active.
    Une référence absolue est une référence dont les deux éléments (ligne et colonne sont précédées par le signe $, tout en moins dans le référencement A1)
    Donc on peut avoir une cellule active qui est une référence absolue, mixte ou relative.

    Une cellule ou une plage nommée est un nom que l'on donne à une cellule ou une plage de cellules qui est référencée et cette référence peut être absolue, mixte ou relative

    Pour répondre à ta question, il faudrait clarifier ce que tu cherches à obtenir parce-que ni le titre de la discussion, ni l'image affichée, ni tes explications que tu donnes n'ont de points communs.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 728
    Par défaut
    Bonjour, je n'ai pas tout bien compris la finalité.
    Quoi qu'il en soit, je pense qu'il vaut mieux travailler avec une cellule nommée que la cellule active qui par définition peut se déplacer, pour une raison x ou y, particulièrement lors de la validation de la cellule.
    La cellule nommée a entre autre avantage qu'Excel la retrouve même si vous avez ajouté ou enlevé des colonnes ou lignes.
    Cordialement

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 80
    Par défaut
    Bonjour à tous et merci pour vos remarques,
    Je me doutais bien que ma présentation était ambigüe. Ma remarque est due au fait que si la personne renseigne la cellule demandée et clique directement sur le bouton la réponse sera erronée puisque je fais ma requête sur la valeur saisie (donc non stockée dans ma variable). Pour la prise en charge de la valeur, il faut valider la saisie puis lancer la macro. Par contre si je travaille sur la cellule active, l'utilisateur devra obligatoirement, après la saisie, lancer directement la macro sans quoi la valeur chargée ne sera plus la bonne.
    Je ne vois donc pas comment procéder. Lors de mes tests j'ai eu les 2 types de comportement:
    1 saisie validation puis clique sur le bouton (bon résultat).
    2 saisie clique direct sur le bouton (d'où l'erreur)

    Question surement "légère" mais qui me soucie.
    Bonne journée confinés derrière vos écrans
    Pascal

  5. #5
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 728
    Par défaut
    Bonjour, Vous validez la cellule à renseigner, vous faites Insérer/Nom/Définir nom. vous entrez le Nom: CritFiltre1 (ou un autre de votre choix en sachant qu'il faudra que ça corresponde au nom de la procédure.
    et vous aurez donc la valeur dans la variable Z

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Critere1()
    Dim Z As Variant  'j'ignore quelle type de valeur peut être saisie?
    Z = Range("CritFiltre1").Value
    End Sub

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 80
    Par défaut
    Bonsoir à tous,
    Bien pensé Transitoire, je me suis dit mais oui évident!!
    Je viens de faire la modif, et non, la valeur ne se charge pas. Pour contourner ce problème, je me demande si il ne faut pas rajouter une boucle qui teste et selon le cas prend la cellule active ou Range().

    Merci pour votre aide
    Pascal

  7. #7
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 728
    Par défaut
    Bonjour, pourriez vous SVP nous mettre le code de la macro que vous lancez avec votre bouton et nous dire dans quel module se trouve cette macro.
    Parce que j'ai fait des essais sur mon Mac, et que je valide ou pas la cellule, je n'ai jamais eut une réponse de cellule vide .
    L'explication doit se trouver dans votre code.
    Cordialement

    supplément, dans mon post précèdent j'avais écrit:
    Bonjour, Vous validez la cellule à renseigner, vous faites Insérer/Nom/Définir nom. vous entrez le Nom: CritFiltre1 (ou un autre de votre choix en sachant qu'il faudra que ça corresponde au nom de la procédure.
    C'est une erreur, ce n'est pas le nom de la procédure, mais celui de la range("???????") qui devra être identique au nom que vous aurez choisi.
    Par ailleurs avez vous des macros évènementielles sur la page ou le classeur?

  8. #8
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 728
    Par défaut
    Tiens, je viens de penser à un truc. (penser, une fois n'est pas coutume me direz vous?)
    Essayez donc cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Critere1()
    Dim Z As Variant  'j'ignore quelle type de valeur peut être saisie?
    ActiveCell.Offset(1, 0).Select
    Z = Range("CritFiltre1").Value
    End Sub
    Cordialement

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 80
    Par défaut
    Bonjour Transitoire,
    Méaculpa, ma première réaction à ta réponse d'hier, était la bonne "mais oui c'est évident mon cher Watson". Et ton dernier post sur l'endroit où était la macro (je l'ai placée dans un module et non sur la feuille) a fait tilt!! J'utilise UCase sur la cellule (pour forcer la majuscule et lors de mon test je n'ai pas fait attention , j'avais mis ma requête en minuscule et naturellement le "stockage" c'est fait bien fait mais en minuscule et il n'y avait pas de réponse d'où mon erreur!!
    Donc tu as très bien répondu à mon problème.

    Encore un grand merci pour ton aide, je continue mes petites recherches, je profite du confinement en me donnant un exercice, faire une gestion de base de données en me plaçant coté utilisateur et quand on soumet, je me rends compte que tous les cas d'utilisations existent!

    Bonne journée
    Pascal

  10. #10
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 728
    Par défaut
    Nous sommes tous la pour essayer de s'entraider, pensez toutefois à marquer le post comme résolu
    Cordialement

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

Discussions similaires

  1. [VBA-E] valeur de la cellule active
    Par anisr dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/03/2017, 09h48
  2. Excel -> changer la cellule active
    Par sony351 dans le forum C++Builder
    Réponses: 5
    Dernier message: 04/10/2006, 12h03
  3. [JTable][editable] cellule activée/ désactivée
    Par nawel dans le forum Composants
    Réponses: 5
    Dernier message: 09/05/2005, 15h37
  4. Réponses: 8
    Dernier message: 14/03/2005, 22h43
  5. [DBGrid] coordonnees ecran de la cellule active ?
    Par kase74 dans le forum Bases de données
    Réponses: 2
    Dernier message: 20/09/2004, 18h00

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