VBA sur Excel = probleme sur boucle

Résolu/Fermé
lumpytony - 22 oct. 2007 à 03:16
 lumpytony - 22 oct. 2007 à 18:18
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
A voir également:

2 réponses

eriiic Messages postés 24571 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 19 mai 2024 7 217
22 oct. 2007 à 07:18
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
0
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
0