Une erreur VBA très bizarre

solobomb

XLDnaute Nouveau
Bonjour tout le monde bon après des jours de galère j'arrive au bout de ma macro mais la je tombe sur une erreur qui me bloque alors que c'est tout con. En fait j'essaie juste d'écrire dans une cellule "Etat" mais ca me met erreur 440 automation voici le code avec la ligne d'erreur entre <<>>:
Code:
Sub cheum()
Dim wc As Workbook
Dim cl As Workbook


Application.CutCopyMode = False
Application.DisplayAlerts = False
    Sheets.Add
    Sheets.Add
    Sheets.Add
    Sheets("Etat").Select
    ActiveWindow.SelectedSheets.Delete
Worksheets(1).Name = "1"
Worksheets(2).Name = "2"
Worksheets(3).Name = "3"

Set cl = Workbooks("Classeur1.xls")
Set wc = Workbooks.Open("C:\Data\STANDARD\Mes Documents\M-1.xls ")
wc.Sheets(1).Range("A:P").Copy
cl.Sheets(1).Range("A1").PasteSpecial Paste:=xlPasteValues
Set wc = Workbooks.Open("C:\Data\STANDARD\Mes Documents\M.xls ")
wc.Sheets(1).Range("A:P").Copy
cl.Sheets(2).Range("A1").PasteSpecial Paste:=xlPasteValues
Workbooks("M.xls").Close savechanges:=False
Workbooks("M-1.xls").Close savechanges:=False
cl.Worksheets(1).Name = "M-1"
cl.Worksheets(2).Name = "M"


    Sheets("M-1").Select
    ActiveWorkbook.Names.Add Name:="un", RefersToR1C1:="='M-1'!C1:C16"
    Sheets("M").Select
    ActiveWorkbook.Names.Add Name:="deux", RefersToR1C1:="=M!C1:C16"
    Sheets("M-1").Select
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 11
  <<<<<<<Range("P1").value  = "Etat"[/COLOR]>>>>>>>>>>>>>>>>>>>>>>
    Range("P2").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(ISNA(VLOOKUP(RC[-15],deux,1,FALSE)),""parti"",IF(VLOOKUP(RC[-15],un,11,FALSE),"" "",""changé""))"
    Range("P2").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(ISNA(VLOOKUP(RC[-15],deux,1,FALSE)),""parti"",IF(VLOOKUP(RC[-15],un,11,FALSE)=VLOOKUP(RC[-15],deux,11,FALSE),"" "",""changé""))"
    Range("P2").Select
    Selection.AutoFill Destination:=Range("P2:P771")
    Range("P2:P771").Select
    Range("O1").Select
    Selection.AutoFilter
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 12
    Selection.AutoFilter Field:=16, Criteria1:="<>"
    Sheets("M").Select
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 5
    Columns("A:P").EntireColumn.AutoFit
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 11
    Range("P1").Value = "Etat"
    Range("P2").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(ISNA(VLOOKUP(RC[-15],un,1,FALSE)),""nouveau"","" "")"
    Range("P2").Select
    Selection.AutoFill Destination:=Range("P2:P770")
    Range("P2:P770").Select
    Range("O1").Select
    Selection.AutoFilter
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 12
    Selection.AutoFilter Field:=16, Criteria1:="<>"
    Sheets("M-1").Select
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 1
    Range("A1:P1734").Select
    Selection.Copy
    Sheets("Feuil3").Select
    ActiveWindow.SmallScroll Down:=-24
    ActiveSheet.Paste
    Sheets("M").Select
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 1
    Range("A2:P1669").Select
    Selection.Copy
    Sheets("Feuil3").Select
    ActiveWindow.ScrollRow = 3
    ActiveWindow.ScrollRow = 5
    ActiveWindow.ScrollRow = 14
    ActiveWindow.ScrollRow = 20
    ActiveWindow.ScrollRow = 26
    ActiveWindow.ScrollRow = 32
    ActiveWindow.ScrollRow = 37
    ActiveWindow.ScrollRow = 43
    ActiveWindow.ScrollRow = 53
    ActiveWindow.ScrollRow = 58
    ActiveWindow.ScrollRow = 66
    ActiveWindow.ScrollRow = 72
    ActiveWindow.ScrollRow = 80
    ActiveWindow.ScrollRow = 89
    ActiveWindow.ScrollRow = 97
    ActiveWindow.ScrollRow = 104
    ActiveWindow.ScrollRow = 114
    ActiveWindow.ScrollRow = 122
    ActiveWindow.ScrollRow = 129
    ActiveWindow.ScrollRow = 135
    ActiveWindow.ScrollRow = 141
    ActiveWindow.ScrollRow = 147
    ActiveWindow.ScrollRow = 152
    ActiveWindow.ScrollRow = 158
    ActiveWindow.ScrollRow = 162
    ActiveWindow.ScrollRow = 168
    ActiveWindow.ScrollRow = 175
    ActiveWindow.ScrollRow = 181
    ActiveWindow.ScrollRow = 187
    ActiveWindow.ScrollRow = 194
    ActiveWindow.ScrollRow = 202
    ActiveWindow.ScrollRow = 223
    ActiveWindow.ScrollRow = 233
    ActiveWindow.ScrollRow = 244
    ActiveWindow.ScrollRow = 254
    ActiveWindow.ScrollRow = 265
    ActiveWindow.ScrollRow = 279
    ActiveWindow.ScrollRow = 290
    ActiveWindow.ScrollRow = 304
    ActiveWindow.ScrollRow = 317
    ActiveWindow.ScrollRow = 327
    ActiveWindow.ScrollRow = 340
    ActiveWindow.ScrollRow = 350
    ActiveWindow.ScrollRow = 363
    ActiveWindow.ScrollRow = 376
    ActiveWindow.ScrollRow = 386
    ActiveWindow.ScrollRow = 394
    ActiveWindow.ScrollRow = 407
    ActiveWindow.ScrollRow = 419
    ActiveWindow.ScrollRow = 426
    ActiveWindow.ScrollRow = 436
    ActiveWindow.ScrollRow = 443
    ActiveWindow.ScrollRow = 451
    ActiveWindow.ScrollRow = 459
    ActiveWindow.ScrollRow = 465
    ActiveWindow.ScrollRow = 470
    ActiveWindow.ScrollRow = 476
    ActiveWindow.ScrollRow = 482
    ActiveWindow.ScrollRow = 488
    ActiveWindow.ScrollRow = 491
    ActiveWindow.ScrollRow = 497
    ActiveWindow.ScrollRow = 511
    ActiveWindow.ScrollRow = 516
    ActiveWindow.ScrollRow = 526
    ActiveWindow.ScrollRow = 532
    ActiveWindow.ScrollRow = 539
    ActiveWindow.ScrollRow = 545
    ActiveWindow.ScrollRow = 551
    ActiveWindow.ScrollRow = 557
    ActiveWindow.ScrollRow = 562
    ActiveWindow.ScrollRow = 572
    ActiveWindow.ScrollRow = 578
    ActiveWindow.ScrollRow = 583
    ActiveWindow.ScrollRow = 589
    ActiveWindow.ScrollRow = 595
    ActiveWindow.ScrollRow = 599
    ActiveWindow.ScrollRow = 604
    ActiveWindow.ScrollRow = 610
    ActiveWindow.ScrollRow = 614
    ActiveWindow.ScrollRow = 618
    ActiveWindow.ScrollRow = 622
    ActiveWindow.ScrollRow = 627
    ActiveWindow.ScrollRow = 631
    ActiveWindow.ScrollRow = 633
    ActiveWindow.ScrollRow = 637
    ActiveWindow.ScrollRow = 641
    ActiveWindow.ScrollRow = 645
    ActiveWindow.ScrollRow = 650
    ActiveWindow.ScrollRow = 658
    ActiveWindow.ScrollRow = 668
    ActiveWindow.ScrollRow = 675
    ActiveWindow.ScrollRow = 702
    ActiveWindow.ScrollRow = 710
    ActiveWindow.ScrollRow = 719
    ActiveWindow.ScrollRow = 727
    ActiveWindow.ScrollRow = 735
    ActiveWindow.ScrollRow = 740
    ActiveWindow.ScrollRow = 744
    ActiveWindow.ScrollRow = 750
    ActiveWindow.ScrollRow = 756
    ActiveWindow.ScrollRow = 761
    ActiveWindow.ScrollRow = 765
    ActiveWindow.ScrollRow = 775
    ActiveWindow.ScrollRow = 781
    ActiveWindow.ScrollRow = 784
    ActiveWindow.ScrollRow = 790
    ActiveWindow.ScrollRow = 796
    ActiveWindow.ScrollRow = 800
    ActiveWindow.ScrollRow = 802
    ActiveWindow.ScrollRow = 804
    ActiveWindow.ScrollRow = 807
    ActiveWindow.ScrollRow = 809
    ActiveWindow.ScrollRow = 811
    ActiveWindow.ScrollRow = 815
    ActiveWindow.ScrollRow = 817
    ActiveWindow.ScrollRow = 819
    ActiveWindow.ScrollRow = 823
    ActiveWindow.ScrollRow = 827
    ActiveWindow.ScrollRow = 832
    ActiveWindow.ScrollRow = 836
    ActiveWindow.ScrollRow = 850
    ActiveWindow.ScrollRow = 855
    ActiveWindow.ScrollRow = 863
    ActiveWindow.ScrollRow = 867
    ActiveWindow.ScrollRow = 871
    ActiveWindow.ScrollRow = 874
    ActiveWindow.ScrollRow = 878
    ActiveWindow.ScrollRow = 882
    ActiveWindow.ScrollRow = 884
    ActiveWindow.ScrollRow = 886
    ActiveWindow.ScrollRow = 890
    ActiveWindow.ScrollRow = 892
    ActiveWindow.ScrollRow = 894
    ActiveWindow.ScrollRow = 896
    ActiveWindow.ScrollRow = 899
    ActiveWindow.ScrollRow = 901
    ActiveWindow.ScrollRow = 903
    ActiveWindow.ScrollRow = 905
    ActiveWindow.ScrollRow = 907
    ActiveWindow.ScrollRow = 909
    ActiveWindow.ScrollRow = 911
    ActiveWindow.ScrollRow = 915
    ActiveWindow.ScrollRow = 917
    ActiveWindow.ScrollRow = 919
    ActiveWindow.ScrollRow = 920
    ActiveWindow.ScrollRow = 922
    ActiveWindow.ScrollRow = 924
    ActiveWindow.ScrollRow = 926
    ActiveWindow.ScrollRow = 928
    ActiveWindow.ScrollRow = 930
    ActiveWindow.ScrollRow = 932
    ActiveWindow.ScrollRow = 934
    ActiveWindow.ScrollRow = 936
    ActiveWindow.ScrollRow = 938
    ActiveWindow.ScrollRow = 940
    ActiveWindow.ScrollRow = 942
    ActiveWindow.ScrollRow = 945
    ActiveWindow.ScrollRow = 947
    ActiveWindow.ScrollRow = 949
    ActiveWindow.ScrollRow = 951
    ActiveWindow.ScrollRow = 953
    ActiveWindow.ScrollRow = 955
    ActiveWindow.ScrollRow = 957
    ActiveWindow.ScrollRow = 959
    ActiveWindow.ScrollRow = 961
    ActiveWindow.ScrollRow = 965
    ActiveWindow.ScrollRow = 968
    ActiveWindow.ScrollRow = 970
    ActiveWindow.ScrollRow = 972
    ActiveWindow.ScrollRow = 976
    ActiveWindow.SmallScroll Down:=21
    Range("A1008").Select
    ActiveSheet.Paste
    ActiveWindow.ScrollRow = 994
    ActiveWindow.ScrollRow = 991
    ActiveWindow.ScrollRow = 987
    ActiveWindow.ScrollRow = 983
    ActiveWindow.ScrollRow = 980
    ActiveWindow.ScrollRow = 976
    ActiveWindow.ScrollRow = 969
    ActiveWindow.ScrollRow = 962
    ActiveWindow.ScrollRow = 954
    ActiveWindow.ScrollRow = 951
    ActiveWindow.ScrollRow = 943
    ActiveWindow.ScrollRow = 940
    ActiveWindow.ScrollRow = 936
    ActiveWindow.ScrollRow = 929
    ActiveWindow.ScrollRow = 925
    ActiveWindow.ScrollRow = 914
    ActiveWindow.ScrollRow = 911
    ActiveWindow.ScrollRow = 907
    ActiveWindow.ScrollRow = 900
    ActiveWindow.ScrollRow = 896
    ActiveWindow.ScrollRow = 889
    ActiveWindow.ScrollRow = 885
    ActiveWindow.ScrollRow = 874
    ActiveWindow.ScrollRow = 867
    ActiveWindow.ScrollRow = 860
    ActiveWindow.ScrollRow = 849
    ActiveWindow.ScrollRow = 838
    ActiveWindow.ScrollRow = 831
    ActiveWindow.ScrollRow = 816
    ActiveWindow.ScrollRow = 805
    ActiveWindow.ScrollRow = 787
    ActiveWindow.ScrollRow = 772
    ActiveWindow.ScrollRow = 758
    ActiveWindow.ScrollRow = 736
    ActiveWindow.ScrollRow = 721
    ActiveWindow.ScrollRow = 703
    ActiveWindow.ScrollRow = 681
    ActiveWindow.ScrollRow = 638
    ActiveWindow.ScrollRow = 620
    ActiveWindow.ScrollRow = 605
    ActiveWindow.ScrollRow = 583
    ActiveWindow.ScrollRow = 569
    ActiveWindow.ScrollRow = 554
    ActiveWindow.ScrollRow = 543
    ActiveWindow.ScrollRow = 529
    ActiveWindow.ScrollRow = 521
    ActiveWindow.ScrollRow = 518
    ActiveWindow.ScrollRow = 510
    ActiveWindow.ScrollRow = 499
    ActiveWindow.ScrollRow = 496
    ActiveWindow.ScrollRow = 492
    ActiveWindow.ScrollRow = 485
    ActiveWindow.ScrollRow = 478
    ActiveWindow.ScrollRow = 470
    ActiveWindow.ScrollRow = 467
    ActiveWindow.ScrollRow = 463
    ActiveWindow.ScrollRow = 456
    ActiveWindow.ScrollRow = 449
    ActiveWindow.ScrollRow = 445
    ActiveWindow.ScrollRow = 441
    ActiveWindow.ScrollRow = 430
    ActiveWindow.ScrollRow = 416
    ActiveWindow.ScrollRow = 412
    ActiveWindow.ScrollRow = 408
    ActiveWindow.ScrollRow = 401
    ActiveWindow.ScrollRow = 394
    ActiveWindow.ScrollRow = 387
    ActiveWindow.ScrollRow = 383
    ActiveWindow.ScrollRow = 376
    ActiveWindow.ScrollRow = 368
    ActiveWindow.ScrollRow = 361
    ActiveWindow.ScrollRow = 354
    ActiveWindow.ScrollRow = 350
    ActiveWindow.ScrollRow = 343
    ActiveWindow.ScrollRow = 332
    ActiveWindow.ScrollRow = 328
    ActiveWindow.ScrollRow = 321
    ActiveWindow.ScrollRow = 318
    ActiveWindow.ScrollRow = 310
    ActiveWindow.ScrollRow = 307
    ActiveWindow.ScrollRow = 299
    ActiveWindow.ScrollRow = 296
    ActiveWindow.ScrollRow = 288
    ActiveWindow.ScrollRow = 285
    ActiveWindow.ScrollRow = 281
    ActiveWindow.ScrollRow = 274
    ActiveWindow.ScrollRow = 270
    ActiveWindow.ScrollRow = 267
    ActiveWindow.ScrollRow = 263
    ActiveWindow.ScrollRow = 259
    ActiveWindow.ScrollRow = 252
    ActiveWindow.ScrollRow = 248
    ActiveWindow.ScrollRow = 245
    ActiveWindow.ScrollRow = 241
    ActiveWindow.ScrollRow = 237
    ActiveWindow.ScrollRow = 234
    ActiveWindow.ScrollRow = 227
    ActiveWindow.ScrollRow = 223
    ActiveWindow.ScrollRow = 216
    ActiveWindow.ScrollRow = 212
    ActiveWindow.ScrollRow = 208
    ActiveWindow.ScrollRow = 205
    ActiveWindow.ScrollRow = 201
    ActiveWindow.ScrollRow = 197
    ActiveWindow.ScrollRow = 190
    ActiveWindow.ScrollRow = 187
    ActiveWindow.ScrollRow = 183
    ActiveWindow.ScrollRow = 179
    ActiveWindow.ScrollRow = 176
    ActiveWindow.ScrollRow = 168
    ActiveWindow.ScrollRow = 165
    ActiveWindow.ScrollRow = 157
    ActiveWindow.ScrollRow = 154
    ActiveWindow.ScrollRow = 150
    ActiveWindow.ScrollRow = 147
    ActiveWindow.ScrollRow = 139
    ActiveWindow.ScrollRow = 136
    ActiveWindow.ScrollRow = 132
    ActiveWindow.ScrollRow = 128
    ActiveWindow.ScrollRow = 125
    ActiveWindow.ScrollRow = 121
    ActiveWindow.ScrollRow = 117
    ActiveWindow.ScrollRow = 114
    ActiveWindow.ScrollRow = 110
    ActiveWindow.ScrollRow = 107
    ActiveWindow.ScrollRow = 103
    ActiveWindow.ScrollRow = 99
    ActiveWindow.ScrollRow = 96
    ActiveWindow.ScrollRow = 92
    ActiveWindow.ScrollRow = 88
    ActiveWindow.ScrollRow = 85
    ActiveWindow.ScrollRow = 81
    ActiveWindow.ScrollRow = 77
    ActiveWindow.ScrollRow = 74
    ActiveWindow.ScrollRow = 70
    ActiveWindow.ScrollRow = 66
    ActiveWindow.ScrollRow = 63
    ActiveWindow.ScrollRow = 59
    ActiveWindow.ScrollRow = 56
    ActiveWindow.ScrollRow = 52
    ActiveWindow.ScrollRow = 48
    ActiveWindow.ScrollRow = 45
    ActiveWindow.ScrollRow = 41
    ActiveWindow.ScrollRow = 37
    ActiveWindow.ScrollRow = 34
    ActiveWindow.ScrollRow = 30
    ActiveWindow.ScrollRow = 26
    ActiveWindow.ScrollRow = 23
    ActiveWindow.ScrollRow = 19
    ActiveWindow.ScrollRow = 16
    ActiveWindow.ScrollRow = 12
    ActiveWindow.ScrollRow = 8
    ActiveWindow.ScrollRow = 5
    ActiveWindow.ScrollRow = 1
    Cells.Select
    Selection.SpecialCells(xlCellTypeBlanks).Select
    Selection.Delete Shift:=xlUp
    ActiveWindow.SmallScroll Down:=-39
    Sheets("M-1").Select
    ActiveWindow.SelectedSheets.Delete
    Sheets("M").Select
    ActiveWindow.SelectedSheets.Delete
    Sheets("Feuil3").Select
    Sheets("Feuil3").Name = "Etat"
End Sub


Merci a tous!!!!!!!!
 
Dernière édition:

hellnar

XLDnaute Junior
Re : Une erreur VBA très bizarre

Bonjour,
Visiblement cette macro a été enregistrée automatiquement et pas corrigée. Par exemple tous les
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 9 etc...
ne servent à rien puisqu'à la fin une cellule est indiquée.
Cela allègerait nettement le programme.
Concernant l'erreur, il nous faut le numéro de l'erreur.
Il semble déjà que l'écriture n'est pas correcte puisque value devrait être en nom propre (une majuscule au début), mais cela devrait se corriger automatiquement si la ligne est reconnue.
Essayer de remplacer Value par Formula et refaire le programme.
Sinon utiliser une formule plus lourde comme

Range("P1").Select
ActiveCell.FormulaR1C1 = "Etat"
 

néné06

XLDnaute Accro
Re : Une erreur VBA très bizarre

Bonjour Solobomb,hellnar

Voici une première version épurée.
Faire un pas à pas et regarder ce qui bug.
Cordialement




Sub cheum()
Dim wc As Workbook
Dim cl As Workbook
Application.CutCopyMode = False
Application.DisplayAlerts = False
Sheets.Add
Sheets.Add
Sheets.Add
Sheets("Etat").Select
ActiveWindow.SelectedSheets.Delete
Worksheets(1).Name = "1"
Worksheets(2).Name = "2"
Worksheets(3).Name = "3"
Set cl = Workbooks("Classeur1.xls")
Set wc = Workbooks.Open("C:\Data\STANDARD\Mes Documents\M-1.xls ")
wc.Sheets(1).Range("A:p").Copy
cl.Sheets(1).Range("A1").PasteSpecial Paste:=xlPasteValues
Set wc = Workbooks.Open("C:\Data\STANDARD\Mes Documents\M.xls ")
wc.Sheets(1).Range("A:p").Copy
cl.Sheets(2).Range("A1").PasteSpecial Paste:=xlPasteValues
Workbooks("M.xls").Close savechanges:=False
Workbooks("M-1.xls").Close savechanges:=False
cl.Worksheets(1).Name = "M-1"
cl.Worksheets(2).Name = "M"
Sheets("M-1").Select
ActiveWorkbook.Names.Add Name:="un", RefersToR1C1:="='M-1'!C1:C16"
Sheets("M").Select
ActiveWorkbook.Names.Add Name:="deux", RefersToR1C1:="=M!C1:C16"
Sheets("M-1").Select
ActiveWindow.ScrollColumn = 11
<<<<<<<Range("P1").value = "Etat"[/COLOR]>>>>>>>>>>>>>>>>>>>>>>
Range("P2").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISNA(VLOOKUP(RC[-15],deux,1,FALSE)),""parti"",IF(VLOOKUP(RC[-15],un,11,FALSE),"" "",""changé""))"
Range("P2").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISNA(VLOOKUP(RC[-15],deux,1,FALSE)),""parti"",IF(VLOOKUP(RC[-15],un,11,FALSE)=VLOOKUP(RC[-15],deux,11,FALSE),"" "",""changé""))"
Range("P2").Select
Selection.AutoFill Destination:=Range("P2:p771")
Range("O1").Select
Selection.AutoFilter
ActiveWindow.ScrollColumn = 12
Selection.AutoFilter Field:=16, Criteria1:="<>"
Sheets("M").Select
ActiveWindow.ScrollColumn = 5
Columns("A:p").EntireColumn.AutoFit
ActiveWindow.ScrollColumn = 11
Range("P1").Value = "Etat"
Range("P2").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISNA(VLOOKUP(RC[-15],un,1,FALSE)),""nouveau"","" "")"
Range("P2").Select
Selection.AutoFill Destination:=Range("P2:p770")
Range("P2:p770").Select
Range("O1").Select
Selection.AutoFilter
ActiveWindow.ScrollColumn = 12
Selection.AutoFilter Field:=16, Criteria1:="<>"
Sheets("M-1").Select
ActiveWindow.ScrollColumn = 1
Range("A1:p1734").Select
Selection.Copy
Sheets("Feuil3").Select
ActiveWindow.SmallScroll Down:=-24
ActiveSheet.Paste
Sheets("M").Select
ActiveWindow.ScrollColumn = 1
Range("A2:p1669").Select
Selection.Copy
Sheets("Feuil3").Select
ActiveWindow.ScrollRow = 976
ActiveWindow.SmallScroll Down:=21
Range("A1008").Select
ActiveSheet.Paste
ActiveWindow.ScrollRow = 1
Cells.Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.Delete Shift:=xlUp
ActiveWindow.SmallScroll Down:=-39
Sheets("M-1").Select
ActiveWindow.SelectedSheets.Delete
Sheets("M").Select
ActiveWindow.SelectedSheets.Delete
Sheets("Feuil3").Select
Sheets("Feuil3").Name = "Etat"
End Sub

Cordialement
 

solobomb

XLDnaute Nouveau
Re : Une erreur VBA très bizarre

J'avais déja essayé ave ça
Range("P1").Select
ActiveCell.FormulaR1C1 = "Etat"
Mais ca ne marchait pas non plus mais la c'est bon je crois avoir trouvé le solution ça a l'air de marcher avec:
Worksheets("M-1").Range("P1").Value = "Etat"

Mais c'est bizarre parce que j'avais déja sélectionner cette feuille en plus je vais devoir le faire dès que j'écris quelque chose dans une cellule (a moi les joies des heures sup....)

En tout cas merci pour votre réactivité c'est super cool
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Une erreur VBA très bizarre

Bonjour le fil, bonjour le forum,

Ton code simplifié qui ne plante pas chez moi mais j'ai pas tout... Évite les Select qui ralentissent considérablemet le code et ne sont pas toujours nécessaires...

Code:
Sub cheum()
Dim wc As Workbook
Dim cl As Workbook
 
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets.Add
Sheets.Add
Sheets.Add
Sheets("Etat").Delete
Worksheets(1).Name = "1"
Worksheets(2).Name = "2"
Worksheets(3).Name = "3"
Set cl = Workbooks("Classeur1.xls")
Set wc = Workbooks.Open("C:\Data\STANDARD\Mes Documents\M-1.xls ")
'Set wc = Workbooks.Open("[URL="file://\\Serveur\PUB\poubelle\M-1.xls"]\\Serveur\PUB\poubelle\M-1.xls[/URL] ") 'pour tester chez moi
wc.Sheets(1).Range("A:P").Copy
cl.Sheets(1).Range("A1").PasteSpecial Paste:=xlPasteValues
Set wc = Workbooks.Open("C:\Data\STANDARD\Mes Documents\M.xls ")
'Set wc = Workbooks.Open("[URL="file://\\Serveur\PUB\poubelle\M.xls"]\\Serveur\PUB\poubelle\M.xls[/URL] ") 'pour tester chez moi
wc.Sheets(1).Range("A:P").Copy
cl.Sheets(2).Range("A1").PasteSpecial Paste:=xlPasteValues
Workbooks("M.xls").Close savechanges:=False
Workbooks("M-1.xls").Close savechanges:=False
cl.Worksheets(1).Name = "M-1"
cl.Worksheets(2).Name = "M"
Sheets("M-1").Range("C1:C16").Name = "un" 
Sheets("M").Range("C1:C16").Name = "deux" 
With Sheets("M-1")
    .Select
    .Range("P1").Value = "Etat"
    .Range("P2").FormulaR1C1 = _
        "=IF(ISNA(VLOOKUP(RC[-15],deux,1,FALSE)),""parti"",IF(VLOOKUP(RC[-15],un,11,FALSE)=VLOOKUP(RC[-15],deux,11,FALSE),"" "",""changé""))"
    .Range("P2").AutoFill Destination:=Range("P2:P771")
    .Range("O1").AutoFilter
    .Range("O1").AutoFilter Field:=16, Criteria1:="<>"
End With
With Sheets("M")
    .Select
    .Columns("A:P").EntireColumn.AutoFit
    .Range("P1").Value = "Etat"
    .Range("P2").FormulaR1C1 = _
        "=IF(ISNA(VLOOKUP(RC[-15],un,1,FALSE)),""nouveau"","" "")"
    .Range("P2").AutoFill Destination:=Range("P2:P770")
    .Range("O1").AutoFilter
    .Range("O1").AutoFilter Field:=16, Criteria1:="<>" 'bug
End With
Sheets("M-1").Range("A1:P1734").Copy Sheets("3").Range("A1")
Sheets("M").Range("A2:P1669").Copy Sheets("3").Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0)
Sheets("M-1").Delete
Sheets("M").Delete
Sheets("3").Name = "Etat"
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

[Édition]
Bonjour Néné on s'est croisé
 

solobomb

XLDnaute Nouveau
Re : Une erreur VBA très bizarre

Merci Robert mais chez moi ça bug encore par ex quand tu mets:
Range("P2").FormulaR1C1 = _
"=IF(ISNA(VLOOKUP(RC[-15],deux,1,FALSE)),""parti"",IF(VLOOKUP(RC[-15],un,11,FALSE)=VLOOKUP(RC[-15],deux,11,FALSE),"" "",""changé""))"

dans la section with sheets M-1 je dois le change en
Range("P2").Value = "=IF(ISNA(VLOOKUP(RC[-15],deux,1,FALSE)),""parti"",IF(VLOOKUP(RC[-15],un,11,FALSE)=VLOOKUP(RC[-15],deux,11,FALSE),"" "",""changé""))"
Sinon a me met encore la même erreur

et juste après le
.Range("P2").AutoFill Destination:=Range("P2:p771") bug aussi t'as pas une idée pour résoudre ça? (si près du but et pourtant si loin.........)
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Une erreur VBA très bizarre

Bonjour le fil, bonjour le forum,

Comme je t'ai dit chez moi ça plante pas mais pour pouvoir répondre avec certitude il faudrait les 3 classeurs : Classeur1.xls, M-1.xls et M.xls et faire tourner la macro...
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Une erreur VBA très bizarre

Bonjnour le fil, bonjour le forum,

Tu recrées les 3 fichiers avec la même structure chacun (nom des onglet, plages nommée, etc.). Tu y mets juste une poignée de données non confidentielles et tu les postes ici comme ça tout le monde pourra t'aider....

Au fait Solobomb, hier tu n'as donné aucune satisfaction ni ici ni . C'est pas très gentil pour ceux qui 'ont aidé...
 
Dernière édition:

solobomb

XLDnaute Nouveau
Re : Une erreur VBA très bizarre

Ba pour la première j'ai dit que c'était une erreur de strucutre de mon fichier en fait en remerciant les excelleurs mais j'avoue que j'avais oublié le 2ème sujet bon je prépare les fichiers et je drop tout ça
 

Discussions similaires

Statistiques des forums

Discussions
311 543
Messages
2 080 560
Membres
101 249
dernier inscrit
PAwka