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
16568
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
14 mai 2022
- 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

5 réponses

michel_m
Messages postés
16568
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
14 mai 2022
3 280
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
16568
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
14 mai 2022
3 280
23 oct. 2009 à 10:22
J'aurai peut etre du préciser

bin oui
désolé

Michel
0
michel_m
Messages postés
16568
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
14 mai 2022
3 280
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
16568
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
14 mai 2022
3 280
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