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 :

Copier une ligne selon la colonne horaire


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Points : 55
    Points
    55
    Par défaut Copier une ligne selon la colonne horaire
    Bonjour,
    Ma boucle "if" ne fonctionne avec ma colonne horaire (14:00:00, 15:00:00, 16:00:00)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub copy_if()
    Dim rg As Range, cell As Range
    Dim i As Integer, j As Integer
    Set rg = Worksheets("Sheet1").Cells(1).CurrentRegion
    j = 0
    i = 2
    For Each cell In Worksheets("Sheet1").Range("A2:A4322")
    If cell = "14:00:00" Then
    j = j + 1
    rg.Rows(i).Copy Worksheets("Sheet2").Range("A1").End(xlUp).Offset(j, 0)
    End If
    i = i + 1
    Next cell
    End Sub
    Lorsque je remplace les valeurs de ma colonne horaire en y insérant le chiffre 2 (Condition : If cell = "2") mon code fonctionne nickel ! (Copie toutes les lignes dont la colonne horaire contient le chiffre 2)
    D'où vient le problème ?

    Merci.
    Bonne journée.

  2. #2
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Essai avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If cell.Text = "14:00:00" Then
    Hervé.

  3. #3
    Membre du Club
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Points : 55
    Points
    55
    Par défaut
    Oui, ça marche nickel. Merci Hervé.
    J'ai pourtant définit le format de ma colonne horaire au format temps ! Pourquoi c'est du texte ?

  4. #4
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Re,

    La propriété par défaut de Cell c'est Value donc, si tu as entré une valeur numérique dans la cellule et que tu l'as formaté au format heure, la valeur reste la valeur numérique par contre ce que tu vois de la cellule c'est le texte affiché du format donc la valeur de la propriété Text. Pour voit ça, entre la valeur de 0,5 en A1, formate en Heure (tu auras 12:00:00 puisque c'est la valeur d'une demi journée) et lance ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Sub Test()
     
        MsgBox Range("A1").Value
        MsgBox Range("A1").Text
     
    End Sub
    Hervé.

  5. #5
    Membre du Club
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Points : 55
    Points
    55
    Par défaut
    Là c'est beaucoup plus clair. Merci.
    Bonne journée.

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

Discussions similaires

  1. [XL-2003] Copier une ligne dans une feuille selon un critère
    Par sabryluv dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/06/2012, 16h10
  2. [XL-MAC 2008] Extraire une ligne selon contenu d'une colonne
    Par jmignot dans le forum Excel
    Réponses: 8
    Dernier message: 11/04/2011, 09h17
  3. Masquer une ligne selon resultat dans une colonne
    Par amne26 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/10/2008, 23h45
  4. Réponses: 1
    Dernier message: 10/02/2008, 19h56
  5. copier une ligne dans une autre table
    Par BoeufBrocoli dans le forum SQL
    Réponses: 5
    Dernier message: 24/10/2003, 22h59

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