Macro Excel copier / coller

Fermé
paul57 Messages postés 18 Date d'inscription jeudi 22 octobre 2009 Statut Membre Dernière intervention 14 janvier 2010 - 22 oct. 2009 à 21:07
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 23 oct. 2009 à 12:36
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
A voir également:

5 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
23 oct. 2009 à 09:49
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
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
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
23 oct. 2009 à 10:22
J'aurai peut etre du préciser

bin oui
désolé

Michel
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
23 oct. 2009 à 11:46
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
23 oct. 2009 à 12:36
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