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 :

adresse de la cellule qui vient d'être modifiée


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2012
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 317
    Points : 101
    Points
    101
    Par défaut adresse de la cellule qui vient d'être modifiée
    bonjour à tous,
    je bute sur un truc que je croyais simple : je cherche à connaitre l'adresse de la cellule que je viens de modifier ; je pensais qu'avec target je l’obtiendrais mais si je valide ma cellule j’obtiens l'adresse de la nouvelle cellule sélectionnée et pas celle qui vient d'être modifiée.
    comment faire ?
    merci d'avance

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    utilise l'évènement Change plutôt que Selection_Change

    pour bien comprendre, met ça dans une feuille vierge et modifie une cellule, tu verras la différence

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Worksheet_Change(ByVal Target As Range)
        MsgBox Target.Address & " change"
    End Sub
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        MsgBox Target.Address & " selection change"
    End Sub

  3. #3
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2012
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 317
    Points : 101
    Points
    101
    Par défaut
    merci mais le problème impossible d'empêcher les référence circulaires avec cette méthode ; par exemple si je change une donnés dans la colonne 5, ça calcule un résultat dans la colonne 6 mais l'inverse est aussi vrai. Hélas si j'utilise change je viens de créer un petit virus avec sélection change c'est plus facile à gérer mais je ne sais jamais ou se trouve la dernière cellule modifiée, alors au lieu de calculer juste la ligne ou la cellule est modifiée je vais faire une boucle et recalculer toute la feuille ; peu être il y a-t-il une autre solution, mais ça dépasse mes compétences...

  4. #4
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Je ne comprend pas en quoi l'utilisation d'un évènement Change génère de la circularité et de l'appel multiple à cet évènement

    à moins que tu n'ai pas correctement décrit ton classeur, et que d'autres évènements entrent en conflit
    auquel cas, une neutralisation des évènements (Application.EnableEvents) durant l'exécution de ta procédure Change devrait t'aider

  5. #5
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2012
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 317
    Points : 101
    Points
    101
    Par défaut
    merci, je ne connaissais pas "Application.EnableEvents" et ça résout tout mes problèmes
    merci pour tout

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/10/2008, 10h59
  2. Réponses: 10
    Dernier message: 30/06/2008, 21h04
  3. [MySQL] Récupérer l'ID d'une entrée qui vient d'être créée
    Par yongblood dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 23/06/2007, 06h14
  4. Réponses: 2
    Dernier message: 05/06/2006, 17h17
  5. Récupérer l'id d'un élément qui vient d'être inséré
    Par sg-40 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/06/2004, 10h30

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