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 :

Correction de macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Par défaut Correction de macro
    bonsoir a tous ,
    jai un macro telque la code et comme suit
    Code : 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    Sub überprufungtckt()
    Dim O As Object 'déclare la variable O (Onglets)
    Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
    Dim PL As Range 'déclare la variable PL (PLage)
    Dim I As Integer 'déclare la variable I (Incrément)
    Dim t1 As Variant 'décale la variable t2 (Temps 1)
    Dim t2 As Variant 'décale la variable t2 (Temps 2)
     
    For Each O In Sheets 'boucle 1 : sur tous les onglets O du classeur
        If UCase(Left(O.Name, 4)) = "LINE" Then 'condition : si le nom de l'onglet commence en majuscule par "LINE"
            DL = O.Cells(Application.Rows.Count, 4).End(xlUp).Row 'définie la dernière ligne éditée DL de la colonne 1 (=A) de l'onglet O
            Set PL = O.Range("D6:D" & DL) 'définit la plage PL
            PL.Interior.ColorIndex = 36 'supprime les éventuelles couleurs rouge dans la plage PL
            For I = 6 To DL - 1 'boucle 2 : des lignes 1 à (DL - 1)
                'condition : si la valeur absolue de la différence entre la cellule ligne (I + 1) et
                'celle en ligne I de la colonne 1 est supérieure à 1
                t1 = TimeSerial(Hour(O.Cells(I, 4).Value), Minute(O.Cells(I, 4).Value), Second(O.Cells(I, 4).Value)) 'définit la variable t1
                t2 = TimeSerial(Hour(O.Cells(I + 1, 4).Value), Minute(O.Cells(I + 1, 4).Value), Second(O.Cells(I + 1, 4).Value)) 'définit la variable t2
                If Abs(CDate(t2 - t1) & DL) * 86400 > 60 Then 'si la valeur absolue de la différence est supérieure à 60 seconde
                     MsgBox "Veuillez vérifier le Temps de cycle de  " & O.Name & " !" 'message
                End If 'fin de la condition
            Next I 'prochaine ligne de la boucle 2
        End If 'fin de la condition
    Next O 'prochain onglet de la boucle 1
    End Sub
    mon proble que mon macro c débogue.( voir image joint)
    merci pour l'aide
    Images attachées Images attachées  

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonsoir,

    sans message d'erreur, apporter de l'aide semble quelque peu compromis !

    Vu la ligne en jaune, commencer par vérifier la valeur et le format de la cellule …

  3. #3
    Membre confirmé
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Janvier 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte matériel
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2013
    Messages : 113
    Par défaut
    Salut,

    J'ai testé on code.
    Pour le test j'ai remplie les cellules par des données de type : "12:13:10".
    Pour moi ça à bloqué à la ligne 20 (avec une incompatibilité de type)
    J'ai enlevé le CDate et ça à fonctionné. (Le code essayais de convertir des données au format date alors qu'elles le sont déjà)

    Donc je te conseille de vérifier ce qui doit être au format date ou non (car j'ai peut être mal effectué le test)

    A+

Discussions similaires

  1. [AC-2003] Correction de macro
    Par Sylcoco dans le forum IHM
    Réponses: 2
    Dernier message: 27/02/2014, 10h40
  2. Amélioration/Correction syntaxe macro
    Par daddygraffiti dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/08/2013, 22h06
  3. comment créer correctement un macro sur notepad++ ?
    Par razily dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 09/02/2012, 11h45
  4. [XL-2007] Correction et complément de ma macro
    Par luffy94340 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/09/2011, 08h40
  5. [XL-2007] correction macro vba excel
    Par bird007 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/06/2010, 23h46

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