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 :

Ouverture d'un formulaire si plusieurs cellules d'une ligne ont été modifiées


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2014
    Messages : 12
    Points : 7
    Points
    7
    Par défaut Ouverture d'un formulaire si plusieurs cellules d'une ligne ont été modifiées
    Bonjour,

    Je souhaiterai quand on modifie plusieurs cellules d'une ligne faire apparaître un formulaire.

    Pouvez-vous m'aider ?

    Merci.


    sabine

  2. #2
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    Bonjour,

    Le code est à placer dans l'évènement "Worksheet_Change" de la feuille.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2014
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    bonjour,

    Merci pour l'info.
    Mon souci est que qu'elle que soit la cellule de la ligne que je modifie le formulaire apparaît et moi je souhaiterai pouvoir le faire apparâitre quand plusieurs cellules sont modifiées.

    Je ne vois pas comment le dire. Pouvez-vous m'aider par exemple de code ?

    Merci

    sabine

  4. #4
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if Target.Count > 1 Then
    Code
    End If

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Vous pouvez mettre la macro événementielle suivante dans le module de votre feuille

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub Worksheet_Change(ByVal Target As Range)
     
       If Target.Count > 1 Then Exit Sub
     
       If Not Application.Intersect(Target, Range("B1")) Is Nothing Then
     
             With UserForm1
                  .Show
             End With
       End If
     
    End Sub
    Dans cet exemple, si la cellule B1 est modifiée, Userform1 apparaît. Vous pouvez ajouter autant d'intersections que vous souhaitez.

    Cordialement.

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2014
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    bonsoir,

    Merci pour vos infos. Mais je trouve toujours pas ma solution.

    en fait des cellules O4:AW4 après la modification de la plage de cellules je souhaiterai pouvoir faire apparaîre le formulaire et non pas après modifie d'une seule cellule sur ma plage

    Est-ce que je dois faire autant de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     If Not Application.Intersect(Target, Range("B1")) Is Nothing Then
    pour pouvoir que cela fonctionne ?

    Merci

    sabine

  7. #7
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    Qu'entendez-vous par
    cellules O4:AW4 après la modification de la plage de cellules
    C'est la modification de l'étendue de la sélection qui est modifiée, des cellules de la plages qui sont modifiées ou une sélection de plusieurs cellules à l'intérieur de la plage ?

  8. #8
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 073
    Points
    12 073
    Billets dans le blog
    8
    Par défaut heu
    Bonjour

    wahooo!!! des fois c'est dur

    dans l'exemple que l'on a donné remplace B1 par ton "O4:AW4"
    c'est pas compliqué
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  9. #9
    Membre émérite
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Points : 2 684
    Points
    2 684
    Par défaut
    Bonjour sabine_toulouse;

    Il faudrait être plus précis.
    en fait des cellules O4:AW4 après la modification de la plage de cellules je souhaiterai pouvoir faire apparaîre le formulaire et non pas après modifie d'une seule cellule sur ma plage
    Plusieurs modifs, c'est combien de modifs exactement ?

    Est-ce la seule plage à surveilller ou bien s'il y en a d'autres? Si oui, lesquelles?
    Cordialement

    Docmarti.

  10. #10
    Futur Membre du Club
    Femme Profil pro
    Formateur en informatique
    Inscrit en
    Janvier 2014
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2014
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par defluc Voir le message
    Qu'entendez-vous par C'est la modification de l'étendue de la sélection qui est modifiée, des cellules de la plages qui sont modifiées ou une sélection de plusieurs cellules à l'intérieur de la plage ?
    En fait il y a plusieurs cas de figure :

    il peut y avoir une cellule de modifiée sur une ligne de la liste alors il faudrait que le formulaire s'affiche

    Par contre il peut y avoir plusieurs cellules modifiées sur la même ligne est je souhaiterai que le formulaire s'affiche

    @ patricktoulon

    Bonjour,

    Merci de ta réponse. Mais je souhaiterai pouvoir savoir combien de cellules sur une ligne on été modifiée pour faire apparaitre le formulaire, car ta solution me fait apparaître le formulaire dès que je modifie une cellule de la ligne.

    Merci de m'éclairer de vos lumières.

    Sabine

  11. #11
    Membre émérite
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Points : 2 684
    Points
    2 684
    Par défaut
    Citation Envoyé par sabine_toulouse Voir le message

    Mais je souhaiterai pouvoir savoir combien de cellules sur une ligne on été modifiée pour faire apparaitre le formulaire, car ta solution me fait apparaître le formulaire dès que je modifie une cellule de la ligne.

    Il y a une façon simple, c'est de réserver une feuille vide dont les mêmes cellules que sur la feuille originale sont modifiées chaque fois qu'une cellule est modifiée sur la feuille originale. Il n'y a plus qu'à compter les cellules non vides de la ligne sur cette nouvelle feuille.
    Cordialement

    Docmarti.

  12. #12
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    Les valeurs de chaque cellule de la ligne peuvent aussi être mémorisées dans une array au moment ou une cellule est sélectionnée pour la première fois dans une ligne donnée.
    Puis, il n'y a plus qu'à compter les cellules de la ligne qui diffèrent des valeurs de l'array.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/12/2012, 10h08
  2. Réponses: 2
    Dernier message: 24/08/2011, 07h47
  3. Réponses: 5
    Dernier message: 26/05/2009, 14h46
  4. [vba-e] insertions de plusieurs cellules dans une
    Par titeZ dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/04/2007, 18h14

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