Problème avec Next for

  • Initiateur de la discussion Initiateur de la discussion mispouk
  • 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 !

mispouk

XLDnaute Nouveau
Bonjour le forum,

Il me semble bien que lorsque l'on inclut des boucles For+Next dans une autre, il faut faire attention à inverser la l'ordre des Next par rapport au for

Ma macro suivante respecte cette règle mais je ne comprends pas pourquoi les deux lignes de calcul à la fin (voir dans le code, j'ai indiqué où ça merde) sont considérées comme inexistantes par le programme. J'ai montré ça à un collègue mais on est sec tous les deux.

Sub CopieBesoins()

'************* Déclaration des variables
Dim Jour As String

NB_jour = 6
NB_heures = 15
NB_spécialites = 6
NB_col = 14 'nombre de colonnes de présentation dans les onglets des Jours
NB_col2 = 6 'nombre de colonnes de présentation dans l'onglet demandeTel

'************* copie des besoins par jour, par heure puis par spécialité

'par jour
For n = 1 To NB_jour
If n = 1 Then Jour = "Lundi"
If n = 2 Then Jour = "Mardi"
If n = 3 Then Jour = "Mercredi"
If n = 4 Then Jour = "Jeudi"
If n = 5 Then Jour = "Vendredi"
If n = 6 Then Jour = "Samedi"
If n = 7 Then Jour = "Dimanche"
Sheets(Jour).Select
'par heure
For i = 1 To NB_heures
'par spécialité
For j = 1 To NB_specialites '<--- de là, ça saute à ....
Cells(2 * j - 1, NB_col + 4 * (i - 1) + 1).Select
Cells(2 * j - 1, NB_col + 4 * (i - 1) + 1).Value = Sheets("DemandeTel").Cells(j + 1, i + NB_col2 + NB_heures * (n - 1)).Value
Next j
Next i '<---- lààààààààààààààà!!!
Next n
End Sub

Merci d'avance à celui qui comprend le fin mot de l'histoire.
Jérémy
 
Re : Problème avec Next for

bonjour

tu as raison pour l'ordre des next dans les boucles imbriquées;

par contre tu as une erreur de syntaxe sur le nom de ta variable :

NB_spécialites = 6
For j = 1 To NB_specialites

ce sont deux variables différentes

c'est pour ceci que les programmeurs préconisent de ne jamais mettre d'accent dans les variables.

salut
 
Dernière édition:
Re : Problème avec Next for

bonjour Jérémy
de dimanche à lundi cela fait 7 jours
avec la méthode de calcul pour les indices de colonnes tu dépasses le nombre de colonnes d'une feuille?
un petit fichier serait le bienvenu (- de 50 k,extension .xls,.zip)
à bientôt
 
Re : Problème avec Next for

re

de plus, ce n'est pas parce qu'une variable est initialisée qu'elle est déclarée,donc au lieu de ceci :

Code:
 '************* Déclaration des variables
 Dim Jour As String
 
 NB_jour = 6
 NB_heures = 15
 NB_spécialites = 6
 NB_col = 14 'nombre de colonnes de présentation dans les onglets des Jours
 NB_col2 = 6 'nombre de colonnes de présentation dans l'onglet demandeTel
 
 '************* copie des besoins par jour, par heure puis par spécialité
tu devrais avoir :

Code:
 '************* Déclaration des variables
 Dim Jour As String
 dim  NB_jour as byte
dim NB_heures as byte
dim  NB_specialites as byte
dim  NB_col as byte
dim  NB_col2 as byte

'************FIN DES DECLARATIONS***********


'***********INITIALISATION DES VARIABLES********
 NB_jour = 6
 NB_heures = 15
NB_specialites = 6
 NB_col = 14 'nombre de colonnes de présentation dans les onglets des Jours
 NB_col2 = 6 'nombre de colonnes de présentation dans l'onglet demandeTel
 
 '************* copie des besoins par jour, par heure puis par spécialité
salut

edition : salut bebere, j'ai meme pas regarder le code 😱
 
Dernière édition:
Re : Problème avec Next for

ah merci Hervé, tu as un sacré coup d'oeil parce que j'ai passé des heures à chercher la petite bête.

Je vais modifier pour les variables, je suis pas toujours clean mais tu as raison, plus un programme propre et moins ya de problèmes après.

Bebere, tu as raison, le nombre de colonne sous Excel m'a obligé à séparer les jours sur 7 onglets différents.

Encore merci.
Jérémy
 
Re : Problème avec Next for

re

de rien mispouk

il est aussi préconiser de travailler en OPTION EXPLICIT (fait une recherche sur le forum pour plus d'info)

ceci t'obligera à déclarer convenablement tes variables.

Salut

PS perso : j'ai retenu la lecon Maître Ti 😛
 
Re : Problème avec Next for

Bonjour Cher Ami Hervé, Jérémy, Bébére, le Forum

En plus de ce qu'Hervé t'a très justement conseillé....

Option Explicit en Top de Module...

Tu aurais vu du premier coup cette histoire d'accent sur ta variable !

Bon Aprèm

@+Thierry
Edition
Oups ! pardon Hervé pour cette collision explicite lol
 
Dernière édition:
- 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
5
Affichages
705
Réponses
8
Affichages
647
Réponses
4
Affichages
581
Réponses
2
Affichages
427
Réponses
8
Affichages
270
Réponses
2
Affichages
185
Réponses
10
Affichages
533
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
370
Retour