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 :

[VBA-E]selection de plusieurs cellules


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 3
    Par défaut [VBA-E]selection de plusieurs cellules
    j'ai une petite macro qui sert à transformer les heures en secondes sur une feuille Excel.
    ex. 12:45:30 = 45930 secondes

    Ma macro fonctionne quand je l'utilise sur une seule cellule.
    Ce que je veux, c'est qu'il s'applique aussi lorsque l'utilisateur sélectionne plusieurs cellules. La difficulté (pour moi) vient du fait que les cellules qui seront selectionnée ne sont jamais les même

    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
    Sub Macro2()
     
    Dim strHeure As String
    Dim strHeureS As String
    Dim lgSecHt As Long
    Dim lgHeure As Long
     
    Dim strMinuteS As String
    Dim lgSecMt As Long
    Dim lgMinute As Long
     
    Dim strSecondeS As String
    Dim lgSecSt As Long
    Dim lgSeconde As Long
     
    Dim lgTotal As Long
    Dim strTotal As String
    Dim MyRange As Range
     
    ' Macro2 Macro
    ' Macro enregistrée le 2006-03-20 par Patrice Gamache
     
        ActiveCell.Select
        strHeure = Format(ActiveCell.Value, "hh:mm:ss")
     
    'Sert à valider que la cellule n'est pas déja en secondes
        If ActiveCell.Value >= 5 Then    'le "5" est un peu choisi au hazard mais il fonctionne...
            MsgBox "veuillez choisir une cellule au format : HH:MM:SS"
            Selection.NumberFormat = "0"
            End
        End If
     
    ' Heure
        strHeureS = Left(strHeure, 2)
        lgHeure = Int(strHeureS)
        lgSecHt = lgHeure * 3600
     
    ' Minutes
        strMinuteS = Mid(strHeure, 4, 2)
        lgMinute = Int(strMinuteS)
        lgSecMt = lgMinute * 60
     
    ' Secondes
        strSecondeS = Right(strHeure, 2)
        lgSeconde = Int(strSecondeS)
        lgSecSt = lgSeconde
     
    'Calcul    
        lgTotal = lgSecHt + lgSecMt + lgSecSt
        Selection.NumberFormat = "0"
        strTotal = lgTotal
        ActiveCell.Value = lgTotal
     
    End Sub
    PS. S'il existe deja un topic sur ce probleme, soyez sympa de me donner le lien moi je l'ai pas trouvé...

    [Balises de code rajoutées par ThierryAIM, Merci d'y penser la prochaine fois]

  2. #2
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Je n'ai pas regardé le détail du code, mais il me semble que si tu englobes le tout dans un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim MaCellule As Range
    For Each MaCellule In Selection
       ...
       ton code, sans les SELECT, en l'appliquant sur "MaCellule"
       ...
    Next
    ça devrait être pas mal.
    A tester, bien sûr...

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 3
    Par défaut nice!
    c'etait exactement ça!
    je connais (un peu) vb mais l'ai jamais utilisé avec office donc je connais pas trop les variables qui lui sont propre.
    apres plusieurs essais, je bloquais, ce qu'il me manquait c'est le "Selection" de la boucle.
    Puis j'ai changé tous mes "activecell" pour des "MaCellule"

    thanks again!

  4. #4
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    si tu ne mets pas le tag , Megaxel aura des raisons de ne pas être content

  5. #5
    Membre Expert Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Par défaut
    Carrément pas content!!!


    Allez, mets moi ce tag résolu en cliquant sur le bouton
    On perd son temps à relire ce post pour se rendre compte que tu as trouvé ta solution... Grrrrrrr !!!

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Par défaut
    la solution me semble hasardeuse
    on se saura jamais dans quelle unité on se situe
    je suggère de laisser tout en heure et d'intervenir en ajoutant le format personnalisé [ss]

  7. #7
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    les heures étant exprimer en "jour" sous excel ( 1 = 1 jour) tu peu aussi convertir en secondes en multipliant par 86400 (24 x 60 x 60 ) .. puis en passant au format standard...

  8. #8
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 3
    Par défaut oups...
    je savais pas pour le .. c'est quand meme que mon 3e messages sur developpez.net. (je vous mets au defi de trouver les 2 premier )

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

Discussions similaires

  1. selection de plusieurs cellules
    Par jijie dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/11/2007, 15h55
  2. Selection de plusieurs cellules
    Par gjazzy dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 22/05/2007, 16h47
  3. [vba-e] insertions de plusieurs cellules dans une
    Par titeZ dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/04/2007, 17h14
  4. [VBA-E] selection de plusieurs rangés avec des cellules définies
    Par noir_desir dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 24/02/2007, 14h26
  5. [VBA-E]Selection plage de cellules variable
    Par julien5 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/05/2006, 14h51

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