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 :

Combiner 2 Worksheet_Change, erreur ambigu !


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
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2013
    Messages : 25
    Par défaut Combiner 2 Worksheet_Change, erreur ambigu !
    Bonjours j'aimerai savoir comment combiner c'est 2 code
    De facon séparer,car j'ai une erreur ,on ne peut metre 2 Worksheet_Change dans la meme feuille !

    le code 1
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Option Explicit
     
    Public Sub Worksheet_Change(ByVal Target As Range)
      If Target.Column <> 6 Then Exit Sub
      Temp# = Target.Row
      Cells(Temp#, 7) = 60
      Call RunOnTime
    End Sub

    le code 2
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("G:G")) Is Nothing Then
    Target.Offset(0, 3) = Date
    End If
    End Sub

    Y aurait-il une facon pour que sa fonctionne , en fait lorsque une cellule dans G est modifier jaimerai date + heure dans la cellule
    J

    Merci beaucoup de votre aide.

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir,

    une idée à adapter :
    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 Not Application.Intersect(Target, Range("G:G")) Is Nothing Then
      Application.EnableEvents = False
      Target.Offset(0, 3) = Date
      Application.EnableEvents = True
    End If
    If Target.Column <> 6 Then Exit Sub
    Application.EnableEvents = False
    Temp# = Target.Row
    Cells(Temp#, 7) = 60
    Call RunOnTime 'là je ne peux rien dire car procédure inconnue pour moi
    Application.EnableEvents = True
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2013
    Messages : 25
    Par défaut
    Je suis désoler mais cela ne fonctionne pas je vous donne donc le code complet ainsi que la feuille Excel
    Espérant que quelqu'un trouve une solution, car pour l'instant je reste mal prit.

    Je vous explique son fonctionnement lorsque je entre en E2 une valeur , un chrono de 60 seconde démarré en F2.
    une foi le Chonos Terminer, je dois entrer une nouvelle valeur en G2, et au moment ou je entre une valeur en G2, je dois avoir La date et L'heure fixer dans I2.Croyez vous que cest possible ?


    voici les code complet
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Option Explicit
     
    Public Sub Worksheet_Change(ByVal Target As Range)
      If Target.Column <> 6 Then Exit Sub
      Temp# = Target.Row
      Cells(Temp#, 7) = 60
      Call RunOnTime
    End Sub
    Module1
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Option Explicit
     
    Public Temp#
    Public dTime As Date
     
    Sub RunOnTime()
      dTime = Now + TimeSerial(0, 0, 1)
      Application.OnTime dTime, "RunOnTime"
      Cells(Temp#, 7).Value = Cells(Temp#, 7).Value - 1
      If Cells(Temp#, 7).Value = 0 Then Call CancelOnTime
    End Sub
     
    Sub CancelOnTime()
      Application.OnTime dTime, "RunOnTime", , False
      Cells(Temp#, 7).Value = "Terminer"
    End Sub
    et voici le document Excel

    Merci a vous.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [XL-2007] Fonction Worksheet_Change: Erreur de Syntaxe
    Par redhotchilipeppers dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 22/11/2014, 16h33
  2. Réponses: 4
    Dernier message: 17/11/2007, 11h10
  3. Erreur:Le type 'wsAddition' est ambigu
    Par dachir dans le forum Services Web
    Réponses: 1
    Dernier message: 11/11/2007, 21h47
  4. [VBA] Compilation et Erreur Adresse ambigue
    Par lyraaa dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/07/2007, 12h49
  5. Réponses: 2
    Dernier message: 15/11/2005, 11h59

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