Rediger une macro d'importation

Bonjour,

je suis entrain de rediger une macro d'importation mais elle bloque et je ne vois pas où est le problème.

Le but est de transferer les colonnes datedébut, heuredébut et heurefin de la feuille "importation" à la feuille "extract"

Voilà ce que j'ai rédigé, je ne sais pas combien il y aura de ligne dans mon tableau de données

Sub importer_donnees()

Dim nbval As Long

Dim i As Long

nbval = Application.WorksheetFunction.CountA(Sheets("Importation").Range("a:a")) - 1

Application.Calculation = xlCalculationManual

With Sheets("Importation")

Sheets("Extract").Range("a2:Y65000").Delete

For i = 1 To nbval

Sheets("Extract").Range("Dateentrée").Offset(i, 0).Value = .Range("b1").Offset(i, 0).Value

'1440 minutes dans une journée

If .Range("c1").Offset(i, 0).Value = 0 Then

Sheets("Extract").Range("Heureentree").Offset(i, 0).Value = ""

Else: Sheets("Extract").Range("HeureEntree").Offset(i, 0).Value = Format(.Range("c1").Offset(i, 0).Value / 1440, "hh:mm")

End If

If .Range("g1").Offset(i, 0).Value = 0 Then

Sheets("Extract").Range("Heuresortie").Offset(i, 0).Value = ""

Else: Sheets("Extract").Range("D_Heuresortie").Offset(i, 0).Value = Format(.Range("g1").Offset(i, 0).Value / 1440, "hh:mm")

End If

Application.Calculation = xlCalculationAutomatic

End With

End Sub

Une idée?

https://www.excel-pratique.com/~files/doc2/Extract.xls

Bonjour,

Normal que cela bloque car il te manque le NEXT pour ta boucle FOR i ....

Le code modifié si j'ai bien compris ce que tu veux faire :

Sub importer_donnees()
'Macro amendée par DAn - Xl pratique
'http://forum.excel-pratique.com/viewtopic.php?t=11232
Dim nbval As Long
Dim i As Integer

Sheets("Extract").Range("A2:Y65000").Delete
With Sheets("Importation")
nbval = .Range("A65536").End(xlUp).Row - 1
For i = 2 To nbval
Sheets("Extract").Range("B" & i) = Format(.Range("b" & i), "dd/mm/yy")
'1440 minutes dans une journée
If .Range("c" & i) = 0 Then
Sheets("Extract").Range("c" & i) = ""
Else: Sheets("Extract").Range("c" & i) = Format(.Range("c" & i) / 1440, "hh:mm")
End If
If .Range("g" & i) = 0 Then
Sheets("Extract").Range("g" & i) = ""
Else: Sheets("Extract").Range("g" & i) = Format(.Range("g" & i) / 1440, "hh:mm")
End If
Next
End With
End Sub

Amicalement

Dan

Bonjour camionette, Nad-Den

il serait bien que tu donnes suite à tes poste précédents

https://www.excel-pratique.com/forum/viewtopic.php?t=11168

https://www.excel-pratique.com/forum/viewtopic.php?p=64114#64114

Rechercher des sujets similaires à "rediger macro importation"