[Excel] Le second Next ne s'incremente pas ?
Résolu
elglouton
Messages postés
197
Statut
Membre
-
Mytå Messages postés 4246 Statut Contributeur -
Mytå Messages postés 4246 Statut Contributeur -
Bonjour,
J'ai une macro qui evolue en fonction de differentes cellules definies pas des For...Next mais le second next ne s'incremente pas...
Voici le code
Avez vous une idée sur ce qu'il se passe
Merci par avance
J'ai une macro qui evolue en fonction de differentes cellules definies pas des For...Next mais le second next ne s'incremente pas...
Voici le code
Sub CreeFeuilleEssais()
Dim Plage As Byte
Dim NomOnglet, l As Byte
Dim NFeuil As String
Dim ad As String 'déclare la variable ad (ADresse)
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
For Plage = 8 To 25 Step 8
For NomOnglet = 3 To 25 Step 8
With Sheets("Saisie")
.Select
If .Cells(NomOnglet, 9).Value <> "" Then
NFeuil = .Cells(NomOnglet, 9).Value
If FeuilExist(NFeuil) Then
Sheets(NFeuil).Activate
Exit Sub
Else
Sheets("Type").COPY After:=Sheets(ThisWorkbook.Sheets.Count)
ActiveSheet.Name = NFeuil
ActiveSheet.Range("Z1").Value = Sheets("Saisie").Cells(Plage, 9).Value
ActiveSheet.Range("I1").Value = .Cells(NomOnglet - 1, 9).Value
ActiveSheet.Range("I2").Value = .Cells(NomOnglet, 9).Value
ActiveSheet.Range("I3").Value = .Cells(NomOnglet + 1, 9).Value
End If
End If
ad = CStr(.Cells(Plage, 9).Value) 'définit l'adresse ad
End With
With Sheets("Données Chessel")
.Range(ad).COPY Sheets(NFeuil).Range("A24") 'copie la plage et la colle dans A24 de l'ongle NFeuil
End With
With Sheets(NFeuil) 'prend en compte l'onglet NFeuil
dl = .Cells(Application.Rows.Count, 1).End(xlUp).Row + 1 'définit la dernière ligne dl
Sheets("Type").Rows(28).COPY .Cells(dl, 1) 'copie la ligne 28 de l'onglet "Type" et la colle en ligne dl
'place la formule en colonne D/ligne dl - 1
.Cells(dl, 4).Formula = "=Max(" & .Range(.Cells(24, 4), .Cells(dl - 1, 4)).Address(0, 0) & ") - Min(" & .Range(.Cells(24, 4), .Cells(dl - 1, 4)).Address(0, 0) & ")"
'recopie la formule jusqu'à la colonne T
.Cells(dl, 4).AutoFill Destination:=.Range(.Cells(dl, 4), .Cells(dl, 20)), Type:=xlFillDefault
'place la formule en U24
.Cells(24, 21).Formula = "=Max(" & .Range(.Cells(24, 4), .Cells(24, 20)).Address(0, 0) & ") - Min(" & .Range(.Cells(24, 4), .Cells(24, 20)).Address(0, 0) & ")"
'recopie la formule jusqu'à la ligne dl - 1
.Cells(24, 21).AutoFill Destination:=.Range(.Cells(24, 21), .Cells(dl - 1, 21)), Type:=xlFillDefault
'colore la colonne U
.Range(.Cells(24, 21), .Cells(dl - 1, 21)).Interior.ColorIndex = .Range("U23").Interior.ColorIndex
'place la formule en G11
.Range("G11").Formula = "=Min(" & .Range(.Cells(24, 4), .Cells(dl - 1, 20)).Address(0, 0) & ")"
'place la formule en G12
.Range("G12").Formula = "=Max(" & .Range(.Cells(24, 4), .Cells(dl - 1, 20)).Address(0, 0) & ")"
'place la formule en G13
.Range("G13").Formula = "=Min(" & .Range(.Cells(24, 3), .Cells(dl - 1, 3)).Address(0, 0) & ")"
'place la formule en G14
.Range("G14").Formula = "=Max(" & .Range(.Cells(24, 3), .Cells(dl - 1, 3)).Address(0, 0) & ")"
'place la formule en B18
.Range("B18").Formula = "=AVERAGE(" & .Range(.Cells(24, 4), .Cells(dl - 1, 20)).Address(0, 0) & ")"
'place la formule en C18
.Range("C18").Formula = "=AVERAGE(" & .Range(.Cells(24, 3), .Cells(dl - 1, 3)).Address(0, 0) & ")"
End With 'fin de la prise en compte de l'onglet NFeuil
Next NomOnglet
Next Plage
End Sub
Avez vous une idée sur ce qu'il se passe
Merci par avance
A voir également:
- [Excel] Le second Next ne s'incremente pas ?
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel moyenne - Guide