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 :

Modification de cellules


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 25
    Par défaut Modification de cellules
    Bonjour,

    voila je crée un classeur contenant X feuilles identiques et les 6 dernières sont différentes. Je voudrais que lorsque que l'on modifie une case sur l'une des X feuilles cela entraîne un recalcul sur les six dernières.

    Exemple: si on modifie C2 sur une feuille, on ajoute toutes les valeurs en C2 sur les X feuilles et on affiche le resultat en A1 sur la dernière feuille.

    Si quelqu'un peut m'aider d'avance merci.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Par défaut
    Pas très clair tout ça...

    Tu nous dis que tu veux un recalcul des 6 dernières feuilles et ensuite, dans ton exemple, tu nous parles de la cellule A1 de LA dernière feuille.

    Que veux tu exactement?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 25
    Par défaut
    c'était pour exemple car en fait selon la cellule modifié sur les X feuilles on modifie une cellule sur l'une des 6 dernières.

    Si c'est la case C2 on modifie la dernière, si c'est la case C23 ce sera l'avant dernière.

    Ce que je veux c'est uniquement comment faire pour lancer la macro si il y a un changement sur les X feuilles et non sur toutes.
    Car la fonction Workbook_SheetChange fonctionne sur toutes les feuilles sans exception ce qui entraine une boucle sans fin selon mon exemple.

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 105
    Par défaut
    C'est qu'il faut juste créer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub Worksheet_Change(ByVal Target As Range)
    dans chaque feuille dont tu veux gérer les modifications

  5. #5
    Membre chevronné
    Avatar de Bigalo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 445
    Par défaut
    Bonjour,

    Citation Envoyé par Niko62 Voir le message
    Exemple: si on modifie C2 sur une feuille, on ajoute toutes les valeurs en C2 sur les X feuilles et on affiche le resultat en A1 sur la dernière feuille.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim NbFeuilles As Integer, i As Integer, Total As Double
        Application.EnableEvents = False
        NbFeuilles = Worksheets.Count
            If Not Intersect(Target, Sh.Range("C2")) Is Nothing Then
                    If Sh.Index < NbFeuilles - 5 Then
                            For i = 1 To NbFeuilles - 5
                                Total = Total + Worksheets(i).Range("C2")
                            Next
                    End If
            End If
        Worksheets(NbFeuilles).Range("A1") = Total
        Application.EnableEvents = True
    End Sub
    A placer dans le module ThisWorkbook.

    Correspond à ton exemple. Nécessite que toutes les cellules C2 des feuilles concernées soient vides ou aient un contenu numérque. Adaptation nécessaire sinon.

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Par défaut
    Voici un exemple de classeur qui gère les feuille un peu à la manière que tu décrit. Explores le code (pas très long).
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. modification de cellules
    Par Niko62 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/01/2008, 18h36
  2. Activation de macro sur modification de cellules particulières
    Par Tch3k dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/07/2007, 18h11
  3. Réponses: 5
    Dernier message: 08/03/2007, 10h13
  4. [Débutant - Excel] Evénement avant modification de cellule
    Par seiryujay dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/12/2006, 05h31
  5. [VB6] Ouverture d'un fichier Excel et modification de cellules
    Par zackrel dans le forum VB 6 et antérieur
    Réponses: 19
    Dernier message: 19/05/2006, 11h55

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