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 :

Recherche la 1ère cellule non vide d'une colonne et reporter l'heure trouvée dans un MsgBox au format hh:mn


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juin 2015
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2015
    Messages : 105
    Par défaut Recherche la 1ère cellule non vide d'une colonne et reporter l'heure trouvée dans un MsgBox au format hh:mn
    Bonjour,

    je suis tout nouveau inscrit sur ce site que je visitais régulièrement auparavant
    J aurais besoin de vos précieux conseils ; désolé pour la rédaction de ce message mais je suis vraiment un débutant en la matière
    Je n'arrive pas au début de la macro à afficher dans le 1er msgbox le contenu de la 1ère cellule non vide d'une colonne ( il s'agit d'une heure que je souhaite faire apparaitre dans le msgbox au format heure )
    cette cellule se trouvant dans une autre feuille du classeur

    Je suis désolé de vous transmettre le détail de la macro ainsi mais je ne sais pas comment faire pour vous la présenter au bon format !!!

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
     Sub SauvegardeEtatParcMLA()
     
    ' Contrôle d'une sauvegarde du jour dèjà faite  
        LHeure = Time
        If Sheets("Synthèse MLA").Range("AD2").Value = 1 Then
        ret = MsgBox("La sauvegarde des données de ce jour a déjà été réalisée à  " & Format(LHeure, "hh:mm") & Chr(10) & Chr(10) & " Souhaitez vous continuer ?",       vbYesNo + vbInformation)
        If ret = vbNo Then
        Exit Sub
        End If
        End If
        Sheets("Synthèse MLA").Select
     
     
    'Désactive la protection de la feuille de synthèse
     
        ActiveSheet.Unprotect "BONSAI"
     
    'Copie les éléments du jour
     
        Range("E2:E21").Select
        Selection.Copy
        Range("H65000").End(xlUp).Offset(1).Select
        Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
            xlNone, SkipBlanks:=False, Transpose:=True
        Application.CutCopyMode = False
        With Selection
            .HorizontalAlignment = xlCenter
            .VerticalAlignment = xlBottom
            .WrapText = False
            .Orientation = 0
            .AddIndent = False
            .IndentLevel = 0
            .ShrinkToFit = False
            .ReadingOrder = xlContext
            .MergeCells = False
        End With
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        With Selection.Borders(xlEdgeLeft)
            .LineStyle = xlContinuous
            .ColorIndex = xlAutomatic
            .TintAndShade = 0
            .Weight = xlThin
        End With
        Selection.Borders(xlEdgeBottom).LineStyle = xlNone
        With Selection.Borders(xlEdgeRight)
            .LineStyle = xlContinuous
            .ColorIndex = xlAutomatic
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With Selection.Borders(xlInsideVertical)
            .LineStyle = xlContinuous
            .ColorIndex = xlAutomatic
            .TintAndShade = 0
            .Weight = xlThin
        End With
        Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
        Range("F8").Select
        ActiveWindow.SmallScroll ToRight:=9
        ActiveWindow.ScrollColumn = 9
        ActiveWindow.ScrollColumn = 8
        ActiveWindow.ScrollColumn = 7
        ActiveWindow.ScrollColumn = 6
        ActiveWindow.ScrollColumn = 5
        ActiveWindow.ScrollColumn = 4
        ActiveWindow.ScrollColumn = 3
        ActiveWindow.ScrollColumn = 2
        ActiveWindow.ScrollColumn = 1
        Range("N7").Select
        Range("K13").Select
        ActiveWindow.SmallScroll Down:=-6
        Range("B1").Select
     
    'réactive la protection de la feuille de synthèse
     
        ActiveSheet.Protect "BONSAI", True, True, True
    'Active la macro pour la transmission du document par mail
     
        Call TransmissionMailRotation
     
     
    End Sub
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    817
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 817
    Par défaut
    Salut,
    Essaye cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Sub msgbox_heure()
    'Je me positionne en haut de la colonne en question
    Range("C1").Select
    'Je recherche la première cellule non vide (équivalent à touche (CTRL + flèche bas)
        Selection.End(xlDown).Select
    MsgBox ActiveCell.Value
    End Sub
    Denis.

    PS: inutile de t'excuser, de dire que tu fréquentes le forumetc ,
    Ici tu viens, tu poses le mieux possible ta question et tout le monde fais de son mieux pour te répondre.
    à bientôt.

  3. #3
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juin 2015
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2015
    Messages : 105
    Par défaut
    Bonsoir Denis et merci pour ta réponse
    En fait, mes explications n'étaient pas claires :
    J'essaie d'être plus explicite....

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    ' Contrôle d'une sauvegarde du jour dèjà faite  
        LHeure = Time 'je ne suis pas certain de cela
        If Sheets("Synthèse MLA").Range("AD2").Value = 1 Then
        ret = MsgBox("La sauvegarde des données de ce jour a déjà été réalisée à  " & Format(LHeure, "hh:mm") & Chr(10) & Chr(10) & " Souhaitez vous continuer ?",       vbYesNo + vbInformation) 'ce msgbox doit récupérer et afficher le contenu d'une cellule qui se trouve dans la feuille "synthèse" il s'agit de la 1ere cellule non vide de la colonne I 
    ' il me semble qu il faut utiliser Range("I65000").End(xlUp).Offset(1).value  mais je n arrive pas à l'insérer et aussi définir le format heure "hh:mm"
    'je pense que dans le message de la box Format(LHeure,"hh:mm") n'est pas bon 
     
        If ret = vbNo Then
        Exit Sub
        End If
        End If
        Sheets("Synthèse MLA").Select
     
     
    'Désactive la protection de la feuille de synthèse
     
        ActiveSheet.Unprotect "BONSAI"
     
    'Copie les éléments du jour
     
        Range("E2:E21").Select
        Selection.Copy
        Range("H65000").End(xlUp).Offset(1).Select
        Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
            xlNone, SkipBlanks:=False, Transpose:=True
        Application.CutCopyMode = False
        With Selection
            .HorizontalAlignment = xlCenter
            .VerticalAlignment = xlBottom
            .WrapText = False
            .Orientation = 0
            .AddIndent = False
            .IndentLevel = 0
            .ShrinkToFit = False
            .ReadingOrder = xlContext
            .MergeCells = False
        End With
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        With Selection.Borders(xlEdgeLeft)
            .LineStyle = xlContinuous
            .ColorIndex = xlAutomatic
            .TintAndShade = 0
            .Weight = xlThin
        End With
        Selection.Borders(xlEdgeBottom).LineStyle = xlNone
        With Selection.Borders(xlEdgeRight)
            .LineStyle = xlContinuous
            .ColorIndex = xlAutomatic
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With Selection.Borders(xlInsideVertical)
            .LineStyle = xlContinuous
            .ColorIndex = xlAutomatic
            .TintAndShade = 0
            .Weight = xlThin
        End With
        Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
        Range("F8").Select
        ActiveWindow.SmallScroll ToRight:=9
        ActiveWindow.ScrollColumn = 9
        ActiveWindow.ScrollColumn = 8
        ActiveWindow.ScrollColumn = 7
        ActiveWindow.ScrollColumn = 6
        ActiveWindow.ScrollColumn = 5
        ActiveWindow.ScrollColumn = 4
        ActiveWindow.ScrollColumn = 3
        ActiveWindow.ScrollColumn = 2
        ActiveWindow.ScrollColumn = 1
        Range("N7").Select
        Range("K13").Select
        ActiveWindow.SmallScroll Down:=-6
        Range("B1").Select
     
    'réactive la protection de la feuille de synthèse
     
        ActiveSheet.Protect "BONSAI", True, True, True
    'Active la macro pour la transmission du document par mail
     
        Call TransmissionMailRotation
     
     
    End Sub

  4. #4
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    817
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 817
    Par défaut
    Essaye comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub msgbox_heure()
    'Je me positionne en haut de la colonne en question
    Range("C1").Select
    'Je recherche la première cellule non vide (équivalent à touche (CTRL + flèche bas)
        Selection.End(xlDown).Select
    'Format(CDate(Me.TextBox1), "hh:mm")
    MsgBox Format(CDate(ActiveCell.Value), "hh:mm")
    End Sub
    Denis

  5. #5
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juin 2015
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2015
    Messages : 105
    Par défaut
    Ok j'essaie cela demain ...et je te tiens au courant
    Là c'est dodo et à la Réunion il fait froid ( !!!! ) 26° et il est 22h chez nous
    merci

Discussions similaires

  1. Recherche de la dernière cellule non vide d'une colonne
    Par tasse2the dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/04/2009, 09h30
  2. Dernière cellule non vide d'une colonne
    Par benfatpatra dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/10/2008, 17h28
  3. renvoi dernière cellule non vide d'une colonne
    Par emilie31 dans le forum Excel
    Réponses: 5
    Dernier message: 29/09/2008, 15h26
  4. Dernière cellule non vide d'une colonne
    Par RéviAT dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/02/2008, 14h43

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