[Excel] Le second Next ne s'incremente pas ?
Résolu
elglouton
Messages postés
189
Date d'inscription
Statut
Membre
Dernière intervention
-
Mytå Messages postés 2973 Date d'inscription Statut Contributeur Dernière intervention -
Mytå Messages postés 2973 Date d'inscription Statut Contributeur Dernière intervention -
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