Re : Problème mise à jour de l'écran
Merci Efgé de t'intéréssé à mon problème.
je vais te copier/coller mon code un peu plus bas je précise aussi que je suis passé sous windows 8 es-que cela peut avoir un rapport j'en ai aucune idée.
Sub inserer_devis()
Dim compteur As Integer
Dim insert As Integer
Dim insert2 As Integer
Dim nom_devis As String
Dim Titre1 As Integer
Dim Titre2 As Integer
Dim Titre3 As Integer
Dim Titre4 As Integer
Dim GM As Integer
Application.ScreenUpdating = False
insert2 = Application.InputBox("Nombre de ligne ?", Type:=1)
insert = Application.InputBox("Ligne de départ ?", Type:=1)
nom_devis = Application.InputBox("Nom du fichier devis")
Sheets("Données d'execution").Visible = True
For compteur = insert To insert2
Windows(nom_devis & ".xls").Activate
Range("C" & compteur).Select
'insertion chapitre
If ActiveCell.Value = "T1" Then
Titre1 = 0
Titre2 = 0
Titre3 = 0
Titre4 = 0
ThisWorkbook.Activate
Sheets("Devis").Select
Sheets("Données d'execution").Select
Range("A9:BS11").Select
Selection.Copy
Sheets("Devis").Select
Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A65536").End(xlUp).Offset(-2, 2).Select
Windows(nom_devis & ".xls").Activate
Range("E" & compteur).Copy
ThisWorkbook.Activate
ActiveCell.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
GoTo finprog
End If
'insertion titre 1
If ActiveCell.Value = "T2" Then
Titre1 = Titre1 + 1
Titre2 = 0
Titre3 = 0
Titre4 = 0
ThisWorkbook.Activate
Sheets("Devis").Select
Do While Range("BE" & ActiveCell.Row).Value <> "T2" And Titre1 > 1
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Offset(1, 0).Select
ActiveCell.EntireRow.Select
Sheets("Données d'execution").Select
Range("a14:bS16").Copy
Sheets("Devis").Select
Selection.insert Shift:=xlDown
Application.CutCopyMode = False
Range("C" & ActiveCell.Row).Select
Windows(nom_devis & ".xls").Activate
Range("E" & compteur).Copy
ThisWorkbook.Activate
ActiveCell.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
GoTo finprog
End If
'insertion titre 2
If ActiveCell.Value = "T3" Then
Titre2 = Titre2 + 1
Titre3 = 0
Titre4 = 0
ThisWorkbook.Activate
Sheets("Devis").Select
Do While Range("BG" & ActiveCell.Row).Value <> "T3" And Titre2 > 1
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Offset(1, 0).Select
ActiveCell.EntireRow.Select
Sheets("Données d'execution").Select
Range("a19:bS21").Copy
Sheets("Devis").Select
Selection.insert Shift:=xlDown
Application.CutCopyMode = False
Range("C" & ActiveCell.Row).Select
Windows(nom_devis & ".xls").Activate
Range("E" & compteur).Copy
ThisWorkbook.Activate
ActiveCell.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
GoTo finprog
End If
'insertion titre 3
If ActiveCell.Value = "T4" Then
Titre3 = Titre3 + 1
Titre4 = 0
ThisWorkbook.Activate
Sheets("Devis").Select
Do While Range("BI" & ActiveCell.Row).Value <> "T4" And Titre3 > 1
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Offset(1, 0).Select
ActiveCell.EntireRow.Select
Sheets("Données d'execution").Select
Range("a24:bS26").Copy
Sheets("Devis").Select
Selection.insert Shift:=xlDown
Application.CutCopyMode = False
Range("C" & ActiveCell.Row).Select
Windows(nom_devis & ".xls").Activate
Range("E" & compteur).Copy
ThisWorkbook.Activate
ActiveCell.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
GoTo finprog
End If
'insertion titre 4
If ActiveCell.Value = "T5" Then
Titre4 = Titre4 + 1
ThisWorkbook.Activate
Sheets("Devis").Select
Do While Range("BK" & ActiveCell.Row).Value <> "T5" And Titre4 > 1
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Offset(1, 0).Select
ActiveCell.EntireRow.Select
Sheets("Données d'execution").Select
Range("a29:bS31").Copy
Sheets("Devis").Select
Selection.insert Shift:=xlDown
Application.CutCopyMode = False
Range("C" & ActiveCell.Row).Select
Windows(nom_devis & ".xls").Activate
Range("E" & compteur).Copy
ThisWorkbook.Activate
ActiveCell.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
GoTo finprog
End If
'insertion article
If ActiveCell.Value = "A" Then
If GM <> 1 Then
ThisWorkbook.Activate
Sheets("Devis").Select
Application.Calculation = xlManual
ActiveCell.EntireRow.Select
Selection.insert
Sheets("Données d'execution").Select
Range("a5:bS5").Copy
Sheets("Devis").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveCell.Offset(0, 1).Select
Application.Calculation = xlAutomatic
End If
Windows(nom_devis & ".xls").Activate
Range("D" & compteur).Copy
ThisWorkbook.Activate
Range("B" & ActiveCell.Row).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows(nom_devis & ".xls").Activate
Range("E" & compteur).Copy
ThisWorkbook.Activate
Range("C" & ActiveCell.Row).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows(nom_devis & ".xls").Activate
Range("F" & compteur).Copy
ThisWorkbook.Activate
Range("D" & ActiveCell.Row).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows(nom_devis & ".xls").Activate
Range("H" & compteur).Copy
ThisWorkbook.Activate
Range("F" & ActiveCell.Row).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows(nom_devis & ".xls").Activate
Range("I" & compteur).Copy
ThisWorkbook.Activate
Range("G" & ActiveCell.Row).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows(nom_devis & ".xls").Activate
Range("J" & compteur).Copy
ThisWorkbook.Activate
Range("H" & ActiveCell.Row).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows(nom_devis & ".xls").Activate
Range("S" & compteur).Copy
ThisWorkbook.Activate
Range("Q" & ActiveCell.Row).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows(nom_devis & ".xls").Activate
Range("V" & compteur).Copy
ThisWorkbook.Activate
Range("T" & ActiveCell.Row).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
GM = 0
GoTo finprog
End If
'insertion ligne vide
If ActiveCell.Value = "" Then
ThisWorkbook.Activate
Sheets("Devis").Select
Application.Calculation = xlManual
ActiveCell.EntireRow.Select
Selection.insert
Sheets("Données d'execution").Select
Range("a5:bS5").Copy
Sheets("Devis").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveCell.Offset(0, 1).Select
Application.Calculation = xlAutomatic
Windows(nom_devis & ".xls").Activate
Range("E" & compteur).Copy
ThisWorkbook.Activate
Range("C" & ActiveCell.Row).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
GoTo finprog
End If
'insertion groupement
If ActiveCell.Value = "GM" Then
GM = 1
ThisWorkbook.Activate
Sheets("Devis").Select
ActiveCell.EntireRow.Select
Sheets("Données d'execution").Select
Range("A42:BS44").Copy
Sheets("Devis").Select
Selection.insert Shift:=xlDown
Application.CutCopyMode = False
ActiveCell.Offset(0, 2).Select
Windows(nom_devis & ".xls").Activate
Range("E" & compteur).Copy
ThisWorkbook.Activate
ActiveCell.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows(nom_devis & ".xls").Activate
Range("H" & compteur).Copy
ThisWorkbook.Activate
Range("F" & ActiveCell.Row).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
finprog:
Windows(nom_devis & ".xls").Activate
If Range("A" & ActiveCell.Row).Value = "ST" Then
ThisWorkbook.Activate
Do While Range("AY" & ActiveCell.Row).Value <> "ST"
ActiveCell.Offset(1, 0).Select
Loop
End If
ThisWorkbook.Activate
Sheets("Devis").Select
ActiveCell.Offset(1, 0).Select
Next compteur
Sheets("Données d'execution").Visible = False
'suppression ligne vide
'ThisWorkbook.Activate
'For i = [C65000].End(xlUp).Row To 11 Step -1
' If Cells(i, 3) = "" Then Rows(i).Delete Shift:=xlUp
'Next i
Application.ScreenUpdating = True
End Sub