Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro IF non détecté

3 réponses
Avatar
Françoise
Rebonjour,

je reviens sur ma macro qui doit faire un total sur une commande MEME s'il
n'y a qu'une seule ligne de produit

j'ai mis un test pour déterminer s'il y a une seule ligne ou plusieurs avant
de lancer la mise en place du total

MAIS à chaque fois j'ai le message : Erreur de compilation : End If sans
bloc If !!!

Où est l'erreur dans ma syntaxe ???
J'avoue tourner en rond et ne rien voir
Quelqu'un peut il m'aiguiller
d'avance merci

=======
Sub TotalFinCdeLXT()
'
Sheets("Commande").Select

If Range("L17").Value = "" Then L16.Copy L17
End If
Else


Dim CelluleL As Range
Set CelluleL = Range("L16").End(xlDown).Offset(1, 0)


Dim CelluleA As Range
Set CelluleA = Range("A" & CelluleL.Row)
With CelluleA
.FormulaR1C1 = "TOTAL COMMANDE"
.Font.Bold = True
End With

With Range("K16").End(xlDown).Offset(1, 0)
.FormulaR1C1 = "=SUM(R16C11:R" & .Row - 1 & "C11)"
.Font.Bold = True
End With


With Range("L16").End(xlDown).Offset(1, 0)
.FormulaR1C1 = "=SUM(R16C12:R" & .Row - 1 & "C12)"
.Font.Bold = True
End With


Range("A1").Select

End Sub
=============

3 réponses

Avatar
Gilbert
Bonjour,

Si tu mets If et Then sur la même ligne, tu ne dois pas mettre de End If

Ca te donne

Soit
If Range("L17").Value = "" Then L16.Copy L17

Soit
If Range("L17").Value = "" Then
L16.Copy L17
End If

--
Cordialement,

Gilbert


"Françoise" a écrit dans le message de
news:
Rebonjour,

je reviens sur ma macro qui doit faire un total sur une commande MEME s'il
n'y a qu'une seule ligne de produit

j'ai mis un test pour déterminer s'il y a une seule ligne ou plusieurs
avant
de lancer la mise en place du total

MAIS à chaque fois j'ai le message : Erreur de compilation : End If sans
bloc If !!!

Où est l'erreur dans ma syntaxe ???
J'avoue tourner en rond et ne rien voir
Quelqu'un peut il m'aiguiller
d'avance merci

====== > Sub TotalFinCdeLXT()
'
Sheets("Commande").Select

If Range("L17").Value = "" Then L16.Copy L17
End If
Else


Dim CelluleL As Range
Set CelluleL = Range("L16").End(xlDown).Offset(1, 0)


Dim CelluleA As Range
Set CelluleA = Range("A" & CelluleL.Row)
With CelluleA
.FormulaR1C1 = "TOTAL COMMANDE"
.Font.Bold = True
End With

With Range("K16").End(xlDown).Offset(1, 0)
.FormulaR1C1 = "=SUM(R16C11:R" & .Row - 1 & "C11)"
.Font.Bold = True
End With


With Range("L16").End(xlDown).Offset(1, 0)
.FormulaR1C1 = "=SUM(R16C12:R" & .Row - 1 & "C12)"
.Font.Bold = True
End With


Range("A1").Select

End Sub
============ >



Avatar
Françoise
Merci Gilbert,

c'était plus que simple, encore fallait il le savoir, en fait c'est beaucoup
plus simple de mettre "then" sur la même ligne !
Encore merci


Bonjour,

Si tu mets If et Then sur la même ligne, tu ne dois pas mettre de End If

Ca te donne

Soit
If Range("L17").Value = "" Then L16.Copy L17

Soit
If Range("L17").Value = "" Then
L16.Copy L17
End If

--
Cordialement,

Gilbert


"Françoise" a écrit dans le message de
news:
Rebonjour,

je reviens sur ma macro qui doit faire un total sur une commande MEME s'il
n'y a qu'une seule ligne de produit

j'ai mis un test pour déterminer s'il y a une seule ligne ou plusieurs
avant
de lancer la mise en place du total

MAIS à chaque fois j'ai le message : Erreur de compilation : End If sans
bloc If !!!

Où est l'erreur dans ma syntaxe ???
J'avoue tourner en rond et ne rien voir
Quelqu'un peut il m'aiguiller
d'avance merci

====== > > Sub TotalFinCdeLXT()
'
Sheets("Commande").Select

If Range("L17").Value = "" Then L16.Copy L17
End If
Else


Dim CelluleL As Range
Set CelluleL = Range("L16").End(xlDown).Offset(1, 0)


Dim CelluleA As Range
Set CelluleA = Range("A" & CelluleL.Row)
With CelluleA
.FormulaR1C1 = "TOTAL COMMANDE"
.Font.Bold = True
End With

With Range("K16").End(xlDown).Offset(1, 0)
.FormulaR1C1 = "=SUM(R16C11:R" & .Row - 1 & "C11)"
.Font.Bold = True
End With


With Range("L16").End(xlDown).Offset(1, 0)
.FormulaR1C1 = "=SUM(R16C12:R" & .Row - 1 & "C12)"
.Font.Bold = True
End With


Range("A1").Select

End Sub
============ > >








Avatar
Modeste
Bonsour® Françoise avec ferveur ;o))) vous nous disiez :

c'était plus que simple, encore fallait il le savoir, en fait c'est
beaucoup plus simple de mettre "then" sur la même ligne !


il faudra mettre également l'alternative sur la meme ligne !!!!!

plus simple ???
'============= alternative en ligne :
if condition then instruction1 : instruction2 else instruction3 : instruction4
'============= alternative structurée :
if condition then
instruction1
instruction2
else
instruction3
instruction4
end if

--
@+
;o)))