VBA sur Excel = probleme sur boucle
Résolu
lumpytony
-
lumpytony -
lumpytony -
Bonjour à toutes et à tous,
Après quelques galères j'ai reussi à créer l'equivalent du tri "non vide" pour les colonnes de mon tableau :
Sub TriColonne()
Dim Colonne As Integer
Colonne = 6
'trier à partir de la colonne 6
Do
'Tester la ligne 1de la colonne
If Cells(1, Colonne) = 0 Then
'Masquer la colonne si egale à zero
Columns(Colonne).Hidden = True
'Passer à la colonne suivant
Colonne = Colonne + 1
End If
Loop Until Colonne = 29
End Sub
Tout me parait bon, sauf que quand je lance la macro, le logiciel me fait deux traitements et ensuite, mon processeur me met en attente,..
Vu ma config, et vu la taille du programme, je pense qu'il y a un probleme dans la syntaxe de ma macro.
Je demande humblement votre aide.
Avez vous une petite idee?
demandez moi n'importe quel detail
merci
config
Windows XP SP2
intel core 2 6600 2.4 ghz
2go RAM 4400 hz
Après quelques galères j'ai reussi à créer l'equivalent du tri "non vide" pour les colonnes de mon tableau :
Sub TriColonne()
Dim Colonne As Integer
Colonne = 6
'trier à partir de la colonne 6
Do
'Tester la ligne 1de la colonne
If Cells(1, Colonne) = 0 Then
'Masquer la colonne si egale à zero
Columns(Colonne).Hidden = True
'Passer à la colonne suivant
Colonne = Colonne + 1
End If
Loop Until Colonne = 29
End Sub
Tout me parait bon, sauf que quand je lance la macro, le logiciel me fait deux traitements et ensuite, mon processeur me met en attente,..
Vu ma config, et vu la taille du programme, je pense qu'il y a un probleme dans la syntaxe de ma macro.
Je demande humblement votre aide.
Avez vous une petite idee?
demandez moi n'importe quel detail
merci
config
Windows XP SP2
intel core 2 6600 2.4 ghz
2go RAM 4400 hz
A voir également:
- VBA sur Excel = probleme sur boucle
- Liste déroulante excel - Guide
- Comment trier par ordre alphabétique sur excel - Guide
- Comment calculer la moyenne sur excel - Guide
- Word et excel gratuit - Guide
- Imprimer tableau excel sur une page - Guide
2 réponses
Bonjour,
Pour moi ta macro est correcte, ton erreur est sans doute ailleurs
Pose des points d'arrets ou fais en pas à pas pour trouver
eric
Pour moi ta macro est correcte, ton erreur est sans doute ailleurs
Pose des points d'arrets ou fais en pas à pas pour trouver
eric
re,
merci pour la reponse rapide,
ca m'a aidé le pas à pas et j'ai trouvé
Sub TriColonne()
Dim Colonne As Integer
Colonne = 6
Do
If Cells(1, Colonne) = 0 Then
Columns(Colonne).Hidden = True
Colonne = Colonne + 1 (mauvais endroit)
End If
Colonne = Colonne + 1 (derriere le end if c''est mieux parce que sinon Colonne bug)
Loop Until Colonne = 29
End Sub
encore merci :) !!! youpi maintenant je peux faire mon taf plus rapidement :p
merci pour la reponse rapide,
ca m'a aidé le pas à pas et j'ai trouvé
Sub TriColonne()
Dim Colonne As Integer
Colonne = 6
Do
If Cells(1, Colonne) = 0 Then
Columns(Colonne).Hidden = True
Colonne = Colonne + 1 (mauvais endroit)
End If
Colonne = Colonne + 1 (derriere le end if c''est mieux parce que sinon Colonne bug)
Loop Until Colonne = 29
End Sub
encore merci :) !!! youpi maintenant je peux faire mon taf plus rapidement :p