Bloc if sans end if

nono5450 Messages postés 6 Statut Membre -  
diablo13800 Messages postés 3469 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous et à toutes
je déprime devant un code erreur bloc if sans end if du code ci-dessous.
Je suis loin d'un expert dans le langage informatique.
Si une personne pouvait me dépanner,
merci par avance

Sub CreationTCSELF()
Application.DisplayAlerts = False

On Error Resume Next
Sheets("TCSELF").Delete

ActiveWorkbook.Worksheets("TableAllergene").QueryTables(1).Sort.SortFields.Clear
ActiveWorkbook.Worksheets("TableAllergene").QueryTables(1).Sort.SortFields.Add Key:=Range("B:B"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

With ActiveWorkbook.Worksheets("TableAllergene").QueryTables(1).Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

Range("A1").Select

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:="TableAllergene!a:f").CreatePivotTable TableDestination:="", TableName:="TC"

With ActiveSheet.PivotTables("TC").PivotFields("L_PLAT")
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.PivotTables("TC").AddDataField ActiveSheet. _
PivotTables("TC").PivotFields("C_PLAT"), _
"Somme de C_PLAT", xlSum
With ActiveSheet.PivotTables("TC").PivotFields( _
"Somme de C_PLAT")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("TC").PivotFields( _
"L_MODE_PREP")
.Orientation = xlRowField
.Position = 3
End With
With ActiveSheet.PivotTables("TC").PivotFields( _
"L_ALLERGENE")
.Orientation = xlRowField
.Position = 4
End With

With ActiveSheet.PivotTables("TC").PivotFields( _
"L_FAMILLE")
.Orientation = xlRowField
.Position = 5
End With

With ActiveSheet.PivotTables("TC").PivotFields( _
"L_SOUS_FAMILLE")
.Orientation = xlRowField
.Position = 6
End With

ActiveSheet.PivotTables("TC").AddDataField ActiveSheet.PivotTables("TC").PivotFields("L_ALLERGENE"), "Nombre de L_ALLERGENE", xlCount
ActiveSheet.PivotTables("TC").PivotFields("L_PLAT").Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
ActiveSheet.PivotTables("TC").PivotFields("C_PLAT").Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
ActiveSheet.PivotTables("TC").PivotFields("L_MODE_PREP").Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
ActiveSheet.PivotTables("TC").PivotFields("L_ALLERGENE").Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
ActiveSheet.PivotTables("TC").PivotFields("L_FAMILLE").Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
ActiveSheet.PivotTables("TC").PivotFields("L_SOUS_FAMILLE").Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)

With ActiveSheet.PivotTables("TC").PivotFields( _
"L_ALLERGENE")
.Orientation = xlColumnField
.Position = 1
End With

'suppression sous famille et famille

With ActiveSheet.PivotTables("TC").PivotFields("L_FAMILLE")
.PivotItems("EN ATTENTE MENUS").Visible = False
.PivotItems("EN ATTENTE SUPP").Visible = False
.PivotItems("ENTERAL").Visible = False
.PivotItems("PLATEAU").Visible = False
.PivotItems("BOISSON").Visible = False
.PivotItems("PRODUIT DIETETIQUE").Visible = False
.PivotItems("(blank)").Visible = False

End With

With ActiveSheet.PivotTables("TC").PivotFields("L_SOUS_FAMILLE")
.PivotItems("DESSERT ENRICHI").Visible = False
.PivotItems("DESSERT HA").Visible = False
.PivotItems("ENTREE HA").Visible = False
.PivotItems("LEGUME HA").Visible = False
.PivotItems("POTAGE ENRICHI").Visible = False
.PivotItems("PRODUIT DIET").Visible = False
.PivotItems("VIANDE HA 30").Visible = False
.PivotItems("VIANDE HA ADULTES").Visible = False
.PivotItems("VIANDE HACHEE 30G").Visible = False
.PivotItems("VIANDE MIXEE 20G").Visible = False
.PivotItems("VIANDE MIXEE 30G").Visible = False
.PivotItems("BOISSON ALCOOLISEE").Visible = False
.PivotItems("BOISSON SUCREE").Visible = False
.PivotItems("CAFE").Visible = False
.PivotItems("CCEG").Visible = False
.PivotItems("MANGER MAINS").Visible = False
.PivotItems("VIANDE HACHE MIXE").Visible = False
.PivotItems("ENTREE MIXEE IAA").Visible = False
.PivotItems("LEGUME VERT NATURE").Visible = False
.PivotItems("VIANDE HAC MIX IAA").Visible = False
.PivotItems("PLAT COMPLET IAA").Visible = False
.PivotItems("LEGUME VERT NATURE").Visible = False
.PivotItems("MIXE LEGUME VERT").Visible = False
.PivotItems("PLAT COMPLET MIXE").Visible = False
.PivotItems("PATISSERIE S/GLUTEN").Visible = False
.PivotItems("GATEAUX-CEREALES-FARINE").Visible = False
.PivotItems("PLAT COMPLET MIXE IAA").Visible = False
.PivotItems("P.POT VIANDE LEGUMES").Visible = False

End With

With ActiveSheet.PivotTables("TC").PivotFields("L_MODE_PREP")
.PivotItems("SANS SEL").Visible = False
.PivotItems("SANS SEL AVEC GRAISSE").Visible = False
.PivotItems("SANS SEL SANS GRAISSE").Visible = False
.PivotItems("SALE SANS GRAISSE").Visible = False
.PivotItems("SANS GRAISSE").Visible = False
End With

With ActiveSheet.PivotTables("TC").PivotFields("L_FAMILLE")
.Orientation = xlPageField
.Position = 1
End With
With ActiveSheet.PivotTables("TC").PivotFields("L_SOUS_FAMILLE")
.Orientation = xlPageField
.Position = 1
End With

'suppression des lignes en tirets

On Error Resume Next
ActiveSheet.PivotTables("TC").PivotFields("L_PLAT").PivotItems("---").Visible = False
On Error Resume Next
ActiveSheet.PivotTables("TC").PivotFields("L_PLAT").PivotItems("------").Visible = False
On Error Resume Next
ActiveSheet.PivotTables("TC").PivotFields("L_PLAT").PivotItems("-----------------------").Visible = False
On Error Resume Next
ActiveSheet.PivotTables("TC").PivotFields("L_PLAT").PivotItems("_ _ _ _ ").Visible = False
On Error Resume Next
ActiveSheet.PivotTables("TC").PivotFields("L_PLAT").PivotItems("_ _ _ _ _").Visible = False
On Error Resume Next
ActiveSheet.PivotTables("TC").PivotFields("L_PLAT").PivotItems("_ _ _ _ _ ").Visible = False
On Error Resume Next
ActiveSheet.PivotTables("TC").PivotFields("L_PLAT").PivotItems("_ _ _ _ _ _").Visible = False
On Error Resume Next
ActiveSheet.PivotTables("TC").PivotFields("L_PLAT").PivotItems(" - - -").Visible = False

Range("D2").Select
ActiveSheet.PivotTables("TC").PivotFields("L_ALLERGENE").PivotItems( _
"Anhydride sulfureux et sulfites").Position = 14

'mise en page

Rows("5:5").RowHeight = 130
Range("D5:R5").Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 90
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Columns("D:R").Select
Columns("D:R").EntireColumn.AutoFit
Selection.ColumnWidth = 2.29
Selection.ColumnWidth = 3

Range("A4").Select

Sheets("Feuil1").Select
Sheets("Feuil1").Name = "TC"

Range("A2").Select

Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select

'suppression ligne 1

Rows("1:4").Select
Selection.Delete Shift:=xlUp
Range("A1").Select

'boucle

Dim fin, x As Long
fin = Range("c1").End(xlDown).Row
'Stop

' pour effectuer une boucle
For x = 1 To fin
'pour sélectionner une cellule
Cells(x, 1).Select
'pour sélectionner une plage de cellule
'Range(Cells(x, 1), Cells(x + 1, 2)).Select
If ActiveCell.Value = "" Then
ActiveCell.Value = ActiveCell.Offset(-1, 0).Value

'stop

Cells(x, 2).Select
If ActiveCell.Value = "" Then
ActiveCell.Value = ActiveCell.Offset(-1, 0).Value

Sheets("TC").Name = "TCSELF"

Application.DisplayAlerts = True
Range(a1).Select

'Stop"

End Sub

2 réponses

  1. diablo13800 Messages postés 3469 Date d'inscription   Statut Membre Dernière intervention   1 872
     
    Bonjour,

    En effet, il manque bien un end if...

     Cells(x, 2).Select
    If ActiveCell.Value = "" Then
    ActiveCell.Value = ActiveCell.Offset(-1, 0).Value
    End If
    0
    1. nono5450 Messages postés 6 Statut Membre
       
      Bonjour Diablo merci de la réactivité
      mais il persiste avec la modif

      Sub CreationTCSELF()
      Application.DisplayAlerts = False

      On Error Resume Next
      Sheets("TCSELF").Delete



      ActiveWorkbook.Worksheets("TableAllergene").QueryTables(1).Sort.SortFields.Clear
      ActiveWorkbook.Worksheets("TableAllergene").QueryTables(1).Sort.SortFields.Add Key:=Range("B:B"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

      With ActiveWorkbook.Worksheets("TableAllergene").QueryTables(1).Sort
      .Header = xlYes
      .MatchCase = False
      .Orientation = xlTopToBottom
      .SortMethod = xlPinYin
      .Apply
      End With

      Range("A1").Select


      ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:="TableAllergene!a:f").CreatePivotTable TableDestination:="", TableName:="TC"

      With ActiveSheet.PivotTables("TC").PivotFields("L_PLAT")
      .Orientation = xlRowField
      .Position = 1
      End With
      ActiveSheet.PivotTables("TC").AddDataField ActiveSheet. _
      PivotTables("TC").PivotFields("C_PLAT"), _
      "Somme de C_PLAT", xlSum
      With ActiveSheet.PivotTables("TC").PivotFields( _
      "Somme de C_PLAT")
      .Orientation = xlRowField
      .Position = 2
      End With
      With ActiveSheet.PivotTables("TC").PivotFields( _
      "L_MODE_PREP")
      .Orientation = xlRowField
      .Position = 3
      End With
      With ActiveSheet.PivotTables("TC").PivotFields( _
      "L_ALLERGENE")
      .Orientation = xlRowField
      .Position = 4
      End With


      With ActiveSheet.PivotTables("TC").PivotFields( _
      "L_FAMILLE")
      .Orientation = xlRowField
      .Position = 5
      End With


      With ActiveSheet.PivotTables("TC").PivotFields( _
      "L_SOUS_FAMILLE")
      .Orientation = xlRowField
      .Position = 6
      End With



      ActiveSheet.PivotTables("TC").AddDataField ActiveSheet.PivotTables("TC").PivotFields("L_ALLERGENE"), "Nombre de L_ALLERGENE", xlCount
      ActiveSheet.PivotTables("TC").PivotFields("L_PLAT").Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
      ActiveSheet.PivotTables("TC").PivotFields("C_PLAT").Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
      ActiveSheet.PivotTables("TC").PivotFields("L_MODE_PREP").Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
      ActiveSheet.PivotTables("TC").PivotFields("L_ALLERGENE").Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
      ActiveSheet.PivotTables("TC").PivotFields("L_FAMILLE").Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)
      ActiveSheet.PivotTables("TC").PivotFields("L_SOUS_FAMILLE").Subtotals = Array(False, False, False, False, False, False, False, False, False, False, False, False)

      With ActiveSheet.PivotTables("TC").PivotFields( _
      "L_ALLERGENE")
      .Orientation = xlColumnField
      .Position = 1
      End With

      'suppression sous famille et famille

      With ActiveSheet.PivotTables("TC").PivotFields("L_FAMILLE")
      .PivotItems("EN ATTENTE MENUS").Visible = False
      .PivotItems("EN ATTENTE SUPP").Visible = False
      .PivotItems("ENTERAL").Visible = False
      .PivotItems("PLATEAU").Visible = False
      .PivotItems("BOISSON").Visible = False
      .PivotItems("PRODUIT DIETETIQUE").Visible = False
      .PivotItems("(blank)").Visible = False

      End With

      With ActiveSheet.PivotTables("TC").PivotFields("L_SOUS_FAMILLE")
      .PivotItems("DESSERT ENRICHI").Visible = False
      .PivotItems("DESSERT HA").Visible = False
      .PivotItems("ENTREE HA").Visible = False
      .PivotItems("LEGUME HA").Visible = False
      .PivotItems("POTAGE ENRICHI").Visible = False
      .PivotItems("PRODUIT DIET").Visible = False
      .PivotItems("VIANDE HA 30").Visible = False
      .PivotItems("VIANDE HA ADULTES").Visible = False
      .PivotItems("VIANDE HACHEE 30G").Visible = False
      .PivotItems("VIANDE MIXEE 20G").Visible = False
      .PivotItems("VIANDE MIXEE 30G").Visible = False
      .PivotItems("BOISSON ALCOOLISEE").Visible = False
      .PivotItems("BOISSON SUCREE").Visible = False
      .PivotItems("CAFE").Visible = False
      .PivotItems("CCEG").Visible = False
      .PivotItems("MANGER MAINS").Visible = False
      .PivotItems("VIANDE HACHE MIXE").Visible = False
      .PivotItems("ENTREE MIXEE IAA").Visible = False
      .PivotItems("LEGUME VERT NATURE").Visible = False
      .PivotItems("VIANDE HAC MIX IAA").Visible = False
      .PivotItems("PLAT COMPLET IAA").Visible = False
      .PivotItems("LEGUME VERT NATURE").Visible = False
      .PivotItems("MIXE LEGUME VERT").Visible = False
      .PivotItems("PLAT COMPLET MIXE").Visible = False
      .PivotItems("PATISSERIE S/GLUTEN").Visible = False
      .PivotItems("GATEAUX-CEREALES-FARINE").Visible = False
      .PivotItems("PLAT COMPLET MIXE IAA").Visible = False
      .PivotItems("P.POT VIANDE LEGUMES").Visible = False

      End With

      With ActiveSheet.PivotTables("TC").PivotFields("L_MODE_PREP")
      .PivotItems("SANS SEL").Visible = False
      .PivotItems("SANS SEL AVEC GRAISSE").Visible = False
      .PivotItems("SANS SEL SANS GRAISSE").Visible = False
      .PivotItems("SALE SANS GRAISSE").Visible = False
      .PivotItems("SANS GRAISSE").Visible = False
      End With

      With ActiveSheet.PivotTables("TC").PivotFields("L_FAMILLE")
      .Orientation = xlPageField
      .Position = 1
      End With
      With ActiveSheet.PivotTables("TC").PivotFields("L_SOUS_FAMILLE")
      .Orientation = xlPageField
      .Position = 1
      End With

      'suppression des lignes en tirets

      On Error Resume Next
      ActiveSheet.PivotTables("TC").PivotFields("L_PLAT").PivotItems("---").Visible = False
      On Error Resume Next
      ActiveSheet.PivotTables("TC").PivotFields("L_PLAT").PivotItems("------").Visible = False
      On Error Resume Next
      ActiveSheet.PivotTables("TC").PivotFields("L_PLAT").PivotItems("-----------------------").Visible = False
      On Error Resume Next
      ActiveSheet.PivotTables("TC").PivotFields("L_PLAT").PivotItems("_ _ _ _ ").Visible = False
      On Error Resume Next
      ActiveSheet.PivotTables("TC").PivotFields("L_PLAT").PivotItems("_ _ _ _ _").Visible = False
      On Error Resume Next
      ActiveSheet.PivotTables("TC").PivotFields("L_PLAT").PivotItems("_ _ _ _ _ ").Visible = False
      On Error Resume Next
      ActiveSheet.PivotTables("TC").PivotFields("L_PLAT").PivotItems("_ _ _ _ _ _").Visible = False
      On Error Resume Next
      ActiveSheet.PivotTables("TC").PivotFields("L_PLAT").PivotItems(" - - -").Visible = False

      Range("D2").Select
      ActiveSheet.PivotTables("TC").PivotFields("L_ALLERGENE").PivotItems( _
      "Anhydride sulfureux et sulfites").Position = 14

      'mise en page

      Rows("5:5").RowHeight = 130
      Range("D5:R5").Select
      With Selection
      .HorizontalAlignment = xlGeneral
      .VerticalAlignment = xlBottom
      .WrapText = False
      .Orientation = 90
      .AddIndent = False
      .IndentLevel = 0
      .ShrinkToFit = False
      .ReadingOrder = xlContext
      .MergeCells = False
      End With
      Columns("D:R").Select
      Columns("D:R").EntireColumn.AutoFit
      Selection.ColumnWidth = 2.29
      Selection.ColumnWidth = 3

      Range("A4").Select

      Sheets("Feuil1").Select
      Sheets("Feuil1").Name = "TC"

      Range("A2").Select


      Cells.Select
      Selection.Copy
      Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
      Range("A1").Select

      'suppression ligne 1

      Rows("1:4").Select
      Selection.Delete Shift:=xlUp
      Range("A1").Select

      'boucle

      Dim fin, x As Long
      fin = Range("c1").End(xlDown).Row
      'Stop

      ' pour effectuer une boucle
      For x = 1 To fin
      'pour sélectionner une cellule
      Cells(x, 1).Select
      'pour sélectionner une plage de cellule
      'Range(Cells(x, 1), Cells(x + 1, 2)).Select
      If ActiveCell.Value = "" Then
      ActiveCell.Value = ActiveCell.Offset(-1, 0).Value

      'stop

      Cells(x, 2).Select
      If ActiveCell.Value = "" Then
      ActiveCell.Value = ActiveCell.Offset(-1, 0).Value

      End If

      Sheets("TC").Name = "TCSELF"

      Application.DisplayAlerts = True
      Range(a1).Select

      'Stop"


      End Sub
      0
    2. diablo13800 Messages postés 3469 Date d'inscription   Statut Membre Dernière intervention   1 872
       
      Vous avez celle ci également :
      If ActiveCell.Value = "" Then
      ActiveCell.Value = ActiveCell.Offset(-1, 0).Value
      end if


      Il faut que vous pensiez à fermer toutes vos boucles / Conditions.
      0
    3. nono5450 Messages postés 6 Statut Membre
       
      il me marque du coup for sans next ?????
      0
    4. diablo13800 Messages postés 3469 Date d'inscription   Statut Membre Dernière intervention   1 872
       
      Même principe... chaque For doit avoir un next...

      ex:
      For I=1 to 10
      MsgBox(I)
      Next


      Ce code affichera 10 message box, avec la valeur de I.

      Simple Question,

      Ce code vous l'avez fait vous même ou il était déjà existant et vous essayez de le retravailler?
      0
    5. nono5450 Messages postés 6 Statut Membre
       
      il était existant j'ai fait une modification par moment il m'affiche un débogage ???? il s'agit d'un fichier d'allergène pour enfants
      0
  2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    merci d'utiliser l'icone <> pour laisser les codes lisibles avec leur indentation.
    Si tu indentes correctement ton code tes erreurs de ce type te sauteront aux yeux.
    eric

    0