je procède à un import, pour lequel je rajoute des lignes en fin de tableau
pour completer l'existant. il y a plusieurs tableaux les uns en dessous des
autres, et je teste la fin de tableau pour ajouter des lignes.
dans mon code, j'ai rajouté le test, mais le rajout de ligne se fait à
l'interieur de mon tableau, et non à la fin. voici le code que j'ai produit
Sub import_InOut()
Dim oExcel As Excel.Application
Dim oWk As Workbook
Set oExcel = CreateObject("Excel.Application")
On Error Resume Next 'Pour éviter les erreur si classeur n'existe pas
Set oWk = oExcel.Workbooks.Open(ThisWorkbook.Path & "\In & Out graph
V2.txt")
On Error GoTo 0
If oWk Is Nothing Then
MsgBox "Erreur sur l'ouverture du classeur", vbCritical
Exit Sub
End If
i = 1
j = 1
k = 1
vi = 1
vii = 1
'recherhche du code projet sur lequel on va mettre à jour les charges
While ThisWorkbook.Sheets("BalanceInOut").Cells(i, 1) <>
Cockpit.cp_import_InOut.Value
i = i + 1
j = j + 1
k = j
Wend
'********************************************************************
'recherche des tickets assistance pour le code projet extrait de BO
While oWk.Sheets("In & Out graph V2").Cells(vi, 1) <> "ASSIS"
vi = vi + 1
Wend
'********************************************************************
vi = vi + 7
While oWk.Sheets("In & Out graph V2").Cells(vi, 1) <> ""
Sheets("BalanceInOut").Cells(j + 1, 2) = oWk.Sheets("In & Out graph
V2").Cells(vi, 1) 'n° de semaine récupérée
Sheets("BalanceInOut").Cells(j + 1, 3) = oWk.Sheets("In & Out graph
V2").Cells(vi, 2) 'ano assist crée
Sheets("BalanceInOut").Cells(j + 1, 6) = oWk.Sheets("In & Out graph
V2").Cells(vi, 3) 'ano assist resolue
j = j + 1
vi = vi + 1
Wend
'********************************************************************
'recherche des tickets maintenance pour le code projet extrait de BO
While oWk.Sheets("In & Out graph V2").Cells(vii, 1) <> "MAINT"
vii = vii + 1
Wend
'********************************************************************
vii = vii + 7
While oWk.Sheets("In & Out graph V2").Cells(vii, 1) <> ""
Sheets("BalanceInOut").Cells(k + 1, 4) = oWk.Sheets("In & Out graph
V2").Cells(vii, 2) 'ano maint crée
Sheets("BalanceInOut").Cells(k + 1, 7) = oWk.Sheets("In & Out graph
V2").Cells(vii, 3) 'ano maint resolue
k = k + 1
vii = vii + 1
Wend
'fermeture du fichier import et incription du chemin d'accès
Set oWk = Nothing
Sheets("Paramètres").Cells(1, 2) = ThisWorkbook.Path & "\In & Out graph
V2.txt"
MsgBox "Importation des données pour " & Cockpit.cp_import_InOut.Value & "
terminée", vbInformation
End Sub
Sub import_courbe_S()
Dim oExcel As Excel.Application
Dim oWk As Workbook
Set oExcel = CreateObject("Excel.Application")
On Error Resume Next 'Pour éviter les erreur si classeur n'existe pas
Set oWk = oExcel.Workbooks.Open(ThisWorkbook.Path & "\Operational report
- detailed loads V4.txt")
On Error GoTo 0
If oWk Is Nothing Then
MsgBox "Erreur sur l'ouverture du classeur", vbCritical
Exit Sub
End If
i = 1
j = 1
k = 1
vi = 1
vii = 1
'recherhche de la zone du code projet sur lequel on va mettre à jour les
charges
While ThisWorkbook.Sheets("Courbe en S").Cells(i, 2) <> "Initial tickets
Loads" And ThisWorkbook.Sheets("Courbe en S").Cells(i + 1, 2) <>
Cockpit.cp_import_courbeS.Value
i = i + 1
j = j + 1
k = j
Wend
'********************************************************************
'recherche des charges initiales pour le code projet extrait de BO
While oWk.Sheets("Operational report - detailed l").Cells(vi, 1) <> "Initial
tickets Loads"
vi = vi + 1
Wend
'********************************************************************
vi = vi + 3
While oWk.Sheets("Operational report - detailed l").Cells(vi, 1) <> ""
If Sheets("Courbe en S").Cells(j + 3, 2) = "" Then _
Sheets("Courbe en S").Select
Range(Sheets("Courbe en S").Cells(j + 3, 1), Sheets("Courbe en
S").Cells(j + 3, 19)).Insert xlShiftDown
j = j + 1
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
franck B
finalement, j'ai trouvé la solution.
le probleme résidait dans la colone selectionée pour le test, et la fin de boucle voici donc le morceau de code qui débloque ma situation
If Sheets("Courbe en S").Cells(l, 2) = "" Then Sheets("Courbe en S").Select Range(Sheets("Courbe en S").Cells(l, 1), Sheets("Courbe en S").Cells(l, 19)).Insert xlShiftDown l = l + 1 End If
bonjour à tous,
je procède à un import, pour lequel je rajoute des lignes en fin de tableau pour completer l'existant. il y a plusieurs tableaux les uns en dessous des autres, et je teste la fin de tableau pour ajouter des lignes.
dans mon code, j'ai rajouté le test, mais le rajout de ligne se fait à l'interieur de mon tableau, et non à la fin. voici le code que j'ai produit
Sub import_InOut() Dim oExcel As Excel.Application Dim oWk As Workbook Set oExcel = CreateObject("Excel.Application") On Error Resume Next 'Pour éviter les erreur si classeur n'existe pas Set oWk = oExcel.Workbooks.Open(ThisWorkbook.Path & "In & Out graph V2.txt") On Error GoTo 0 If oWk Is Nothing Then MsgBox "Erreur sur l'ouverture du classeur", vbCritical Exit Sub End If
i = 1 j = 1 k = 1 vi = 1 vii = 1
'recherhche du code projet sur lequel on va mettre à jour les charges While ThisWorkbook.Sheets("BalanceInOut").Cells(i, 1) <> Cockpit.cp_import_InOut.Value i = i + 1 j = j + 1 k = j Wend '********************************************************************
'recherche des tickets assistance pour le code projet extrait de BO While oWk.Sheets("In & Out graph V2").Cells(vi, 1) <> "ASSIS" vi = vi + 1 Wend '******************************************************************** vi = vi + 7 While oWk.Sheets("In & Out graph V2").Cells(vi, 1) <> "" Sheets("BalanceInOut").Cells(j + 1, 2) = oWk.Sheets("In & Out graph V2").Cells(vi, 1) 'n° de semaine récupérée Sheets("BalanceInOut").Cells(j + 1, 3) = oWk.Sheets("In & Out graph V2").Cells(vi, 2) 'ano assist crée Sheets("BalanceInOut").Cells(j + 1, 6) = oWk.Sheets("In & Out graph V2").Cells(vi, 3) 'ano assist resolue j = j + 1 vi = vi + 1 Wend '********************************************************************
'recherche des tickets maintenance pour le code projet extrait de BO While oWk.Sheets("In & Out graph V2").Cells(vii, 1) <> "MAINT" vii = vii + 1 Wend '******************************************************************** vii = vii + 7 While oWk.Sheets("In & Out graph V2").Cells(vii, 1) <> "" Sheets("BalanceInOut").Cells(k + 1, 4) = oWk.Sheets("In & Out graph V2").Cells(vii, 2) 'ano maint crée Sheets("BalanceInOut").Cells(k + 1, 7) = oWk.Sheets("In & Out graph V2").Cells(vii, 3) 'ano maint resolue k = k + 1 vii = vii + 1 Wend
'fermeture du fichier import et incription du chemin d'accès Set oWk = Nothing Sheets("Paramètres").Cells(1, 2) = ThisWorkbook.Path & "In & Out graph V2.txt" MsgBox "Importation des données pour " & Cockpit.cp_import_InOut.Value & " terminée", vbInformation
End Sub
Sub import_courbe_S() Dim oExcel As Excel.Application Dim oWk As Workbook Set oExcel = CreateObject("Excel.Application") On Error Resume Next 'Pour éviter les erreur si classeur n'existe pas Set oWk = oExcel.Workbooks.Open(ThisWorkbook.Path & "Operational report - detailed loads V4.txt") On Error GoTo 0 If oWk Is Nothing Then MsgBox "Erreur sur l'ouverture du classeur", vbCritical Exit Sub End If
i = 1 j = 1 k = 1 vi = 1 vii = 1
'recherhche de la zone du code projet sur lequel on va mettre à jour les charges While ThisWorkbook.Sheets("Courbe en S").Cells(i, 2) <> "Initial tickets Loads" And ThisWorkbook.Sheets("Courbe en S").Cells(i + 1, 2) <> Cockpit.cp_import_courbeS.Value i = i + 1 j = j + 1 k = j Wend '********************************************************************
'recherche des charges initiales pour le code projet extrait de BO While oWk.Sheets("Operational report - detailed l").Cells(vi, 1) <> "Initial tickets Loads" vi = vi + 1 Wend '******************************************************************** vi = vi + 3 While oWk.Sheets("Operational report - detailed l").Cells(vi, 1) <> ""
If Sheets("Courbe en S").Cells(j + 3, 2) = "" Then _ Sheets("Courbe en S").Select Range(Sheets("Courbe en S").Cells(j + 3, 1), Sheets("Courbe en S").Cells(j + 3, 19)).Insert xlShiftDown j = j + 1
j = j + 1 vi = vi + 1 Wend '********************************************************************
si quelqu'un voit la faille , qu'il n'hésite pas
finalement, j'ai trouvé la solution.
le probleme résidait dans la colone selectionée pour le test, et la fin de
boucle
voici donc le morceau de code qui débloque ma situation
If Sheets("Courbe en S").Cells(l, 2) = "" Then
Sheets("Courbe en S").Select
Range(Sheets("Courbe en S").Cells(l, 1), Sheets("Courbe en S").Cells(l,
19)).Insert xlShiftDown
l = l + 1
End If
bonjour à tous,
je procède à un import, pour lequel je rajoute des lignes en fin de tableau
pour completer l'existant. il y a plusieurs tableaux les uns en dessous des
autres, et je teste la fin de tableau pour ajouter des lignes.
dans mon code, j'ai rajouté le test, mais le rajout de ligne se fait à
l'interieur de mon tableau, et non à la fin. voici le code que j'ai produit
Sub import_InOut()
Dim oExcel As Excel.Application
Dim oWk As Workbook
Set oExcel = CreateObject("Excel.Application")
On Error Resume Next 'Pour éviter les erreur si classeur n'existe pas
Set oWk = oExcel.Workbooks.Open(ThisWorkbook.Path & "In & Out graph
V2.txt")
On Error GoTo 0
If oWk Is Nothing Then
MsgBox "Erreur sur l'ouverture du classeur", vbCritical
Exit Sub
End If
i = 1
j = 1
k = 1
vi = 1
vii = 1
'recherhche du code projet sur lequel on va mettre à jour les charges
While ThisWorkbook.Sheets("BalanceInOut").Cells(i, 1) <>
Cockpit.cp_import_InOut.Value
i = i + 1
j = j + 1
k = j
Wend
'********************************************************************
'recherche des tickets assistance pour le code projet extrait de BO
While oWk.Sheets("In & Out graph V2").Cells(vi, 1) <> "ASSIS"
vi = vi + 1
Wend
'********************************************************************
vi = vi + 7
While oWk.Sheets("In & Out graph V2").Cells(vi, 1) <> ""
Sheets("BalanceInOut").Cells(j + 1, 2) = oWk.Sheets("In & Out graph
V2").Cells(vi, 1) 'n° de semaine récupérée
Sheets("BalanceInOut").Cells(j + 1, 3) = oWk.Sheets("In & Out graph
V2").Cells(vi, 2) 'ano assist crée
Sheets("BalanceInOut").Cells(j + 1, 6) = oWk.Sheets("In & Out graph
V2").Cells(vi, 3) 'ano assist resolue
j = j + 1
vi = vi + 1
Wend
'********************************************************************
'recherche des tickets maintenance pour le code projet extrait de BO
While oWk.Sheets("In & Out graph V2").Cells(vii, 1) <> "MAINT"
vii = vii + 1
Wend
'********************************************************************
vii = vii + 7
While oWk.Sheets("In & Out graph V2").Cells(vii, 1) <> ""
Sheets("BalanceInOut").Cells(k + 1, 4) = oWk.Sheets("In & Out graph
V2").Cells(vii, 2) 'ano maint crée
Sheets("BalanceInOut").Cells(k + 1, 7) = oWk.Sheets("In & Out graph
V2").Cells(vii, 3) 'ano maint resolue
k = k + 1
vii = vii + 1
Wend
'fermeture du fichier import et incription du chemin d'accès
Set oWk = Nothing
Sheets("Paramètres").Cells(1, 2) = ThisWorkbook.Path & "In & Out graph
V2.txt"
MsgBox "Importation des données pour " & Cockpit.cp_import_InOut.Value & "
terminée", vbInformation
End Sub
Sub import_courbe_S()
Dim oExcel As Excel.Application
Dim oWk As Workbook
Set oExcel = CreateObject("Excel.Application")
On Error Resume Next 'Pour éviter les erreur si classeur n'existe pas
Set oWk = oExcel.Workbooks.Open(ThisWorkbook.Path & "Operational report
- detailed loads V4.txt")
On Error GoTo 0
If oWk Is Nothing Then
MsgBox "Erreur sur l'ouverture du classeur", vbCritical
Exit Sub
End If
i = 1
j = 1
k = 1
vi = 1
vii = 1
'recherhche de la zone du code projet sur lequel on va mettre à jour les
charges
While ThisWorkbook.Sheets("Courbe en S").Cells(i, 2) <> "Initial tickets
Loads" And ThisWorkbook.Sheets("Courbe en S").Cells(i + 1, 2) <>
Cockpit.cp_import_courbeS.Value
i = i + 1
j = j + 1
k = j
Wend
'********************************************************************
'recherche des charges initiales pour le code projet extrait de BO
While oWk.Sheets("Operational report - detailed l").Cells(vi, 1) <> "Initial
tickets Loads"
vi = vi + 1
Wend
'********************************************************************
vi = vi + 3
While oWk.Sheets("Operational report - detailed l").Cells(vi, 1) <> ""
If Sheets("Courbe en S").Cells(j + 3, 2) = "" Then _
Sheets("Courbe en S").Select
Range(Sheets("Courbe en S").Cells(j + 3, 1), Sheets("Courbe en
S").Cells(j + 3, 19)).Insert xlShiftDown
j = j + 1
le probleme résidait dans la colone selectionée pour le test, et la fin de boucle voici donc le morceau de code qui débloque ma situation
If Sheets("Courbe en S").Cells(l, 2) = "" Then Sheets("Courbe en S").Select Range(Sheets("Courbe en S").Cells(l, 1), Sheets("Courbe en S").Cells(l, 19)).Insert xlShiftDown l = l + 1 End If
bonjour à tous,
je procède à un import, pour lequel je rajoute des lignes en fin de tableau pour completer l'existant. il y a plusieurs tableaux les uns en dessous des autres, et je teste la fin de tableau pour ajouter des lignes.
dans mon code, j'ai rajouté le test, mais le rajout de ligne se fait à l'interieur de mon tableau, et non à la fin. voici le code que j'ai produit
Sub import_InOut() Dim oExcel As Excel.Application Dim oWk As Workbook Set oExcel = CreateObject("Excel.Application") On Error Resume Next 'Pour éviter les erreur si classeur n'existe pas Set oWk = oExcel.Workbooks.Open(ThisWorkbook.Path & "In & Out graph V2.txt") On Error GoTo 0 If oWk Is Nothing Then MsgBox "Erreur sur l'ouverture du classeur", vbCritical Exit Sub End If
i = 1 j = 1 k = 1 vi = 1 vii = 1
'recherhche du code projet sur lequel on va mettre à jour les charges While ThisWorkbook.Sheets("BalanceInOut").Cells(i, 1) <> Cockpit.cp_import_InOut.Value i = i + 1 j = j + 1 k = j Wend '********************************************************************
'recherche des tickets assistance pour le code projet extrait de BO While oWk.Sheets("In & Out graph V2").Cells(vi, 1) <> "ASSIS" vi = vi + 1 Wend '******************************************************************** vi = vi + 7 While oWk.Sheets("In & Out graph V2").Cells(vi, 1) <> "" Sheets("BalanceInOut").Cells(j + 1, 2) = oWk.Sheets("In & Out graph V2").Cells(vi, 1) 'n° de semaine récupérée Sheets("BalanceInOut").Cells(j + 1, 3) = oWk.Sheets("In & Out graph V2").Cells(vi, 2) 'ano assist crée Sheets("BalanceInOut").Cells(j + 1, 6) = oWk.Sheets("In & Out graph V2").Cells(vi, 3) 'ano assist resolue j = j + 1 vi = vi + 1 Wend '********************************************************************
'recherche des tickets maintenance pour le code projet extrait de BO While oWk.Sheets("In & Out graph V2").Cells(vii, 1) <> "MAINT" vii = vii + 1 Wend '******************************************************************** vii = vii + 7 While oWk.Sheets("In & Out graph V2").Cells(vii, 1) <> "" Sheets("BalanceInOut").Cells(k + 1, 4) = oWk.Sheets("In & Out graph V2").Cells(vii, 2) 'ano maint crée Sheets("BalanceInOut").Cells(k + 1, 7) = oWk.Sheets("In & Out graph V2").Cells(vii, 3) 'ano maint resolue k = k + 1 vii = vii + 1 Wend
'fermeture du fichier import et incription du chemin d'accès Set oWk = Nothing Sheets("Paramètres").Cells(1, 2) = ThisWorkbook.Path & "In & Out graph V2.txt" MsgBox "Importation des données pour " & Cockpit.cp_import_InOut.Value & " terminée", vbInformation
End Sub
Sub import_courbe_S() Dim oExcel As Excel.Application Dim oWk As Workbook Set oExcel = CreateObject("Excel.Application") On Error Resume Next 'Pour éviter les erreur si classeur n'existe pas Set oWk = oExcel.Workbooks.Open(ThisWorkbook.Path & "Operational report - detailed loads V4.txt") On Error GoTo 0 If oWk Is Nothing Then MsgBox "Erreur sur l'ouverture du classeur", vbCritical Exit Sub End If
i = 1 j = 1 k = 1 vi = 1 vii = 1
'recherhche de la zone du code projet sur lequel on va mettre à jour les charges While ThisWorkbook.Sheets("Courbe en S").Cells(i, 2) <> "Initial tickets Loads" And ThisWorkbook.Sheets("Courbe en S").Cells(i + 1, 2) <> Cockpit.cp_import_courbeS.Value i = i + 1 j = j + 1 k = j Wend '********************************************************************
'recherche des charges initiales pour le code projet extrait de BO While oWk.Sheets("Operational report - detailed l").Cells(vi, 1) <> "Initial tickets Loads" vi = vi + 1 Wend '******************************************************************** vi = vi + 3 While oWk.Sheets("Operational report - detailed l").Cells(vi, 1) <> ""
If Sheets("Courbe en S").Cells(j + 3, 2) = "" Then _ Sheets("Courbe en S").Select Range(Sheets("Courbe en S").Cells(j + 3, 1), Sheets("Courbe en S").Cells(j + 3, 19)).Insert xlShiftDown j = j + 1