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 :

Aide boucle For VBA


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3
    Par défaut Aide boucle For VBA
    Bonsoir à tous,

    Quelqu'un saurait-il me corriger l'erreur présente dans cette boucle ?
    VBA me dit "Erreur de compilatio : qualificateur incorrect

    Voici la boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim i As Double
    Dim LMaxDD As Double
    Dim cellresultat As Double
    cellresultat = Application.Min(range("D2:D20000"))
    LMaxDD = Application.Match(cellresultat.range("D2:D20000"))
    i = LMaxDD
    For i = 10000000 To 0
    If LMaxDD < LMaxDD - 1 Then cellresultat = LMaxDD - 1
    If LMaxDD = 0 Then
    Exit For
    End If
    Next
    Je vous remercie d'avance, je dois rendre ça pour demain et je galère complètement !

    Marc

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For i = 10000000 To 0 Step -1

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3
    Par défaut
    Merci cela fonctionne parfaitement !

    Encore une question néanmoins
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    range("G4").Value = Application.Min(range("D2:D20000"), 1)
    Me donne dans la cellule G4 " 00.01.1900 13:10:17" alors que l'évènement arrive le 12.03.2003 et occupe la cellule 3831. Voyez-vous l'erreur? Merci
    Cordialement,
    Marc

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 171
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Citation Envoyé par Marcfruye Voir le message
    Encore une question néanmoins
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    range("G4").Value = Application.Min(range("D2:D20000"), 1)
    Me donne dans la cellule G4 " 00.01.1900 13:10:17" alors que l'évènement arrive le 12.03.2003 et occupe la cellule 3831. Voyez-vous l'erreur? Merci
    Il y a une forte chance que dans la plage $D$2:$D$20000, il y a au moins une cellule contenant la valeur 0.
    Pour s'en convaincre, il suffit de faire le test directement dans Excel.
    en A2, on tape
    En C2:C11 pour l'instant toutes les cellules sont vides et on tape simplement en cellule C5 12/03/2003.
    On constate que l'on reçoit le n° de série du 12/03/2003 soit 37692.
    On formate la cellule A2 comme une date et ensuite on tape 0 dans une des cellules de la plage C2:C11 et que constate-t-on?
    La cellule A2, renvoie 0/01/1900 c'est à dire 0
    Donc dans ton cas, il y a sans doute plusieurs 0 qui donne un minimum de 0,55 soit 13h10m17s le 31/12/1899 mais comme l'année 1899 n'existe pas pour excel c'est le 0/1/1900
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3
    Par défaut
    Bonsoir Corona,

    Merci c'est très juste.
    En y allant par tatonnement, j'ai fini par mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    range("G4").Value = Application.Min(range("D2:D20000"), 1)
    Avant la boucle For, ce qui a parfaitement fonctionné.

    Ce sujet est maintenant résolu.

    Merci à tous et je vous souhaite un excellent week-end

    Marc

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

Discussions similaires

  1. aide boucle for
    Par AI_LINUX dans le forum Débuter
    Réponses: 7
    Dernier message: 26/09/2010, 19h17
  2. Aide boucle for avec condition
    Par guigui33 dans le forum Images
    Réponses: 1
    Dernier message: 06/03/2008, 20h59
  3. aide vba boucle for each paramétrée en range
    Par gotlieb dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/07/2006, 08h55
  4. Aide pour syntaxe de boucle "FOR"
    Par tribaleur dans le forum ASP
    Réponses: 2
    Dernier message: 31/05/2006, 14h03
  5. [VBA-E] erreur boucle for each
    Par Mut dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/02/2006, 16h38

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