Bloc if sans end if

Fermé
nono5450 Messages postés 6 Date d'inscription lundi 1 septembre 2014 Statut Membre Dernière intervention 13 novembre 2019 - 13 nov. 2019 à 17:09
diablo13800 Messages postés 2890 Date d'inscription jeudi 2 juillet 2015 Statut Membre Dernière intervention 16 février 2024 - 13 nov. 2019 à 17:54
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

diablo13800 Messages postés 2890 Date d'inscription jeudi 2 juillet 2015 Statut Membre Dernière intervention 16 février 2024 1 844
13 nov. 2019 à 17:18
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
nono5450 Messages postés 6 Date d'inscription lundi 1 septembre 2014 Statut Membre Dernière intervention 13 novembre 2019
13 nov. 2019 à 17:26
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
diablo13800 Messages postés 2890 Date d'inscription jeudi 2 juillet 2015 Statut Membre Dernière intervention 16 février 2024 1 844
13 nov. 2019 à 17:35
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
nono5450 Messages postés 6 Date d'inscription lundi 1 septembre 2014 Statut Membre Dernière intervention 13 novembre 2019
13 nov. 2019 à 17:40
il me marque du coup for sans next ?????
0
diablo13800 Messages postés 2890 Date d'inscription jeudi 2 juillet 2015 Statut Membre Dernière intervention 16 février 2024 1 844
13 nov. 2019 à 17:44
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
nono5450 Messages postés 6 Date d'inscription lundi 1 septembre 2014 Statut Membre Dernière intervention 13 novembre 2019
13 nov. 2019 à 17:50
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
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 209
13 nov. 2019 à 17:48
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