Macro Excel copier / coller

paul57 Messages postés 19 Statut Membre -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Voila je m'y connais pas trop en macro excel donc si qqn pouvait m'aider ca serait cool

Je voudrai créer un code qui permet en cliquant sur un bouton de copier coller une donné :

Dans la feuille 1, si H14 = "00:00" alors copier H22 dans la feuille 2 en C7 (si C7 vide sinn message erreur)
.........................si H14 = "01:00" alors copier H22 dans le feuille 2 en C8 (si C8 vide sinn message erreur)
.........................si H14 = "02:00" alors ........................................en C9 (si C9 vide sinn message erreur)
etc.... jusqu'a 23:00

Merci de votre aide
Configuration: Windows Vista Internet Explorer 7.0

5 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    bonjour

    essaies

    Sub copier_svt_hr()
    Dim lig As Byte
    If Range("H14") >= 0 And Range("H14") < 1 Then
        lig = Range("H14") * 24 + 7
        With Sheets(2)
            If Not IsEmpty(.Cells(lig, 3)) Then
                MsgBox "erreur!", vbCritical
            Else
                .Cells(lig, 3) = Sheets(1).Range("H22")
            End If
        End With
    Else
        MsgBox "saisie incorrecte", vbCritical
    End If
    End Sub
    
    0
  2. paul57
     
    Bonjour,

    Merci de votre rep,

    Il y a un petit prob dans ce que vous avez fait. J'aurai peut etre du préciser que les valeurs 00:00 ; 01:00.......................23:00 sont au format texte.
    Je sais pas si ca change qqch pke la ca ne marche pas

    MERCI
    0
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    J'aurai peut etre du préciser

    bin oui
    désolé

    Michel
    0
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    re,
    Si sur ta feuille excel l'heure apparait dans la cellule H14 sous la forme "10:00" avec les guillemets
    Sub copier_svt_hr()
    Dim lig As Byte
    
    lig = Val(Mid(Range("H14"), 2, 2)) * 24 + 7
    If lig >= 0 And lig < 24 Then
        With Sheets(2)
            If Not IsEmpty(.Cells(lig, 3)) Then
                MsgBox "erreur!", vbCritical
            Else
                .Cells(lig, 3) = Sheets(1).Range("H22")
            End If
        End With
    Else
        MsgBox "saisie incorrecte", vbCritical
    End If
    End Sub
    
    edit 12:30h
    si dans la barre de formule H14 étant sélectionné on a '10:00
    àla place de
    Val(Mid(Range("H14"), 2, 2))
    ecris
    Val(Mid(Range("H14"), 1, 2))
    
    
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    re,
    si H14 étant sélectionnée, on lit dans la barre de formule '10:00
    remplace
    Val(Mid(Range("H14"), 2, 2))
    par
    Val(Mid(Range("H14"), 1, 2))
    0