Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion gimli
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

gimli

XLDnaute Occasionnel
Bonjour,

j'ai un soucis que je n'avais encore jamais rencontré, j'ai deux FOR imbriqués et un des NEXT n'est pas lu. Ce qui fausse le résultat.

voici tout le code de mon bouton:


En effet, après test au pas à pas (avec F8) je vois bien que le Next num2 n'est pas lu. Sauriez-vous pourquoi ?

Merci d'avance

Bonne journée à tous 🙂

Gimli
 
Re : NEXT non lu

Bonjour,
For num2 = NbLignesIncMaj + 1 To 50

a mon humble avis Nblignesincmaj +1 est supérieur à 50 et donc il passe de suite derrière le next associé:

Sur ton fichier exemple la boucle fonctionne bien, c'est peut être ce qu'il y a dans la boucle qui cloche
 
Dernière édition:
Re : NEXT non lu

Apparement non çamarchepas. J'ai cru que c'était le cas comme toi et j'ai mis un msgbox juste après le "For num2 = NbLignesIncMaj + 1 To 50". Il s'est bien affiché quelques centaines de fois, j'en ai usé ma touche Entrée 😀
 
Re : NEXT non lu

Re,
je me suis trompé dans mon code, il faut inverser les boucles num1 et num2 .
Je cherche en fait a copier les lignes de "Inc.Collectifs" à la suite de celles de la page "Incidents majeurs (ext)".
 
Re : NEXT non lu

Bonjour à tous,
Pas certain du résultat attendu .Donc a tester.
Code:
Private Sub CommandButton1_Click()
Dim NbSitesIC, NbLignesIncMaj, num1, num2 As Integer
NbSitesIC = 0
With Sheets("Incidents majeurs (ext)")
NbLignesIncMaj = .Cells(65536, 3).End(xlUp).Row
For num1 = 2 To 9
    num2 = .Cells(65536, 3).End(xlUp).Row
    Chaine = Sheets("Inc.Collectifs").Range("E" & num2).Value
        For i = 1 To Len(Chaine)
            If Mid(Chaine, i, 1) = ";" Then NbSitesIC = NbSitesIC + 1
        Next i
    .Range("A" & num1).Value = Sheets("Inc.Collectifs").Range("C" & num2).Value
    .Range("B" & num1).Value = Sheets("Inc.Collectifs").Range("D" & num2).Value
    .Range("C" & num1).Value = Sheets("Inc.collectifs").Range("E" & num2).Value
    .Range("D" & num1).Value = Sheets("Inc.Collectifs").Range("F" & num2).Value
    .Range("E" & num1).Value = Sheets("Inc.Collectifs").Range("G" & num2).Value
    .Range("F" & num1).Value = Sheets("Inc.Collectifs").Range("H" & num2).Value
    .Range("G" & num1).Value = Sheets("Inc.Collectifs").Range("I" & num2).Value
    .Range("H" & num1).Value = Sheets("Inc.Collectifs").Range("K" & num2).Value
    .Range("J" & num1).Value = Sheets("Inc.Collectifs").Range("M" & num2).Value
    .Range("L" & num1).Value = NbSitesIC + 1
    DureeTotaleHeure = .Range("H" & num1).Value * .Range("L" & num1).Value
    .Range("M" & num1).Value = DureeTotaleHeure
    .Range("N" & num1).Value = DureeTotaleHeure
    NbSitesIC = 0
Next num1
End With
End Sub
Cordialement
 
Re : NEXT non lu

Bonjour a tous,

effectivement efgé, ta macro ne répond pas à mes attentes, mais je te remercie de m'aider.
Camarchepas, ta macro est parfaite, c'est exactement le résultat que j'attendais, merci beaucoup !
Merci à tous de m'avoir aidé 🙂

Bonne journée à vous

Gimli
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
720
Réponses
2
Affichages
137
Réponses
5
Affichages
890
Réponses
4
Affichages
751
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
8
Affichages
378
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…