FormulaR1C1 de colonne à colonne avec Find
Résolu
dhaze
Messages postés
113
Statut
Membre
-
dhaze Messages postés 113 Statut Membre -
dhaze Messages postés 113 Statut Membre -
Bonjour,
J'ai un petit problème, je ne trouve pas où ma macro coince...
Je devrait avoir ce type de résultat:
Une idée ?
Lo.
J'ai un petit problème, je ne trouve pas où ma macro coince...
Je devrait avoir ce type de résultat:
+---+--------------+-+-+-+-+------------------------+------
| | ? | | | | | ? |
+---+--------------+-+-+-+-+------------------------+-----
| 1 | Durée totale | | | | | Début et durée plage 1 |
+---+--------------+-+-+-+-+------------------------+----
| 2 | 18:02:33 | | | | | 00:00:00/18:02:33 |
+---+--------------+-+-+-+-+------------------------+---
| 3 | 27:41:25 | | | | | 00:00:00/27:41:25 |
+---+--------------+-+-+-+-+------------------------+--
| 4 | 15:37:12 | | | | | 00:00:00/15:37:12 |
+---+--------------+-+-+-+-+------------------------+-
Etc...
Sub Copier_Durées() Dim Durée_totale As Long Dim Début_durée_plage_1 As Long Dim Derniere_Ligne As Long Dim Numération As Long Durée_totale = Rows(1).Find("Durée totale", lookat:=xlWhole).Column Début_durée_plage_1 = Rows(1).Find("Début et durée plage 1", lookat:=xlWhole).Column Derniere_Ligne = Columns(Durée_totale).Offset(, -1).Find("*", , , , xlByColumns, xlPrevious).Row For Numération = Derniere_Ligne To 2 Step -1 Cells(Numération, Début_durée_plage_1).Select With ActiveCell.FormulaR1C1 = "00:00:00/" & Cells(Numération, Durée_totale).Value End With Next Numération End Sub
Une idée ?
Lo.
A voir également:
- FormulaR1C1 de colonne à colonne avec Find
- Déplacer colonne excel - Guide
- Trier colonne excel - Guide
- Colonne word - Guide
- Formule somme excel colonne - Guide
- Figer colonne excel - Guide
2 réponses
Bonjour,
traitement des heures superieures a 24
traitement des heures superieures a 24
Sub Copier_Durées()
Dim Durée_totale As Long
Dim Début_durée_plage_1 As Long
Dim Derniere_Ligne As Long
Dim Numération As Long
Dim Jour, h As Byte
Dim hhmmss As String, mmss As String, hhh As String
Durée_totale = Rows(1).Find("Durée totale", lookat:=xlWhole).Column
Début_durée_plage_1 = Rows(1).Find("Début et durée plage 1", lookat:=xlWhole).Column
Derniere_Ligne = Columns(Durée_totale).Find("*", , , , xlByColumns, xlPrevious).Row
For Numération = Derniere_Ligne To 2 Step -1
Jour = Cells(Numération, Durée_totale)
hhmmss = Format(Cells(Numération, Durée_totale), "hh:mm:ss")
mmss = Right(hhmmss, 6)
If Jour > 1 Then
h = 24
Else
h = 0
End If
hhh = CStr(CInt(Left(hhmmss, 2)) + h)
Cells(Numération, Début_durée_plage_1) = "00:00:00/" & hhh & mmss
Next Numération
End Sub