Vba boucle for dans boucle for next sous condition
Fermé
Barns
-
Modifié le 7 juil. 2021 à 18:52
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 - 7 juil. 2021 à 22:28
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 - 7 juil. 2021 à 22:28
A voir également:
- Vba boucle for dans boucle for next sous condition
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Excel cellule couleur si condition texte - Guide
- Copytrans heic for windows - Télécharger - Visionnage & Diaporama
- Download instagram for pc - Télécharger - Divers Communication
- Saveaspdf.exe for office 2007 - Télécharger - Bureautique
3 réponses
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
7 juil. 2021 à 19:00
7 juil. 2021 à 19:00
Bonjour
Ton code n'est pas correct
tu ne peux pas fermer la boucle i avant d'avoir fermé la boucle z
Mais ça ne doit pas correspondre à ce que tu veux
Il faudrait en dire plus sur ce que tu veux faire
Cdlmnt
Ton code n'est pas correct
tu ne peux pas fermer la boucle i avant d'avoir fermé la boucle z
Sub ok() For i = 0 To 10 For z = 0 To 10 If Condition Then Instruction 1 End If Next z Instruction 2 Next i End Sub
Mais ça ne doit pas correspondre à ce que tu veux
Il faudrait en dire plus sur ce que tu veux faire
Cdlmnt
En gros je souhaite réaliser une liste sans doublon issus de plusieurs tableaux.
Le nombre de tableaux et la longueur sont définis par des choix user donc je suis obligé d'utiliser des boucles for.
Le nombre de tableaux et la longueur sont définis par des choix user donc je suis obligé d'utiliser des boucles for.
Option Explicit
Sub Tubes()
'CREATION D'UN TABLEAU SANS DOUBLON DES LONGUEUR CANNES
Dim tabtube()
Dim nbrsection As Byte
Dim i As Byte
Dim j As Byte
Dim k As Byte
Dim z As Byte
Dim lig As Byte
Dim derniereL
nbrsection = 2
lig = 20
For i = 0 To nbrsection - 1 'autant de fois que de sections
k = 0
For j = 1 To tabTrv(i) 'autant de fois que de piquages
If j > 1 Then
For z = 0 To UBound(tabtube) 'autant de fois que de cellule dans le tableau créé
'avec tabtube(z,1)= taille du tube et tabtube(z,0) nombre de doublons
'si le doublon existe
If Cells(lig, 3 + j).Value = tabtube(z)(0) Then
tabtube(z)(1) = tabtube(z)(1) + 1
Exit For
End If
Next z
If Not Cells(lig, 3 + j).Value = tabtube(z)(0) Then
End If
ReDim Preserve tabtube(k)
tabtube(k) = Array(Cells(lig, 3 + j).Value, 1)
k = k + 1
End If
Next j
lig = lig + 5
Next i
End Sub
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
7 juil. 2021 à 22:28
7 juil. 2021 à 22:28
Je pense que l'objet dictionary est plus adapté pour récupérer une liste sans doublon
Un exemple
https://www.cjoint.com/c/KGhuBLPuvhB
Cdlmnt
Un exemple
https://www.cjoint.com/c/KGhuBLPuvhB
Cdlmnt