Boucle Passage de colonne en colonne

Ushu71 Messages postés 3 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 25 juin 2008 - 24 juin 2008 à 17:56
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 - 25 juin 2008 à 14:41
Bonjour,

Je recherche un code me permettant d'effectuer les actions suivantes:

1 - Tester une cellule de colonne en colonne sur une plage donnée
2 - Test : la cellule est vide ( la cellule contient une fonction somme)
3 - Si la condition est remplie alors la colonne qui contient cette cellule est masquée

Merci par avance

5 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
24 juin 2008 à 18:02
Salut,

test sur les cellules d'une même ligne :

Dim oRange as range

for each oRange in Range("A1:F1")
    MsgBox oRange.Text
next oRange

Test si la cellule est vide :
If range("A1").Text vbNullString Or range("A1").Text "0" Then
    ...
End if

Cacher, réafficher une colonne :

Columns(1).Hidden = True
Columns(1).Hidden = False

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
24 juin 2008 à 18:56
Salut
"Masquée" : Tu ne veux pas que la cellule affiche le zéro si elle vaut zéro ?
--> Menu "Outils", "Options", onglet "Affichage" et décoche la case à cocher "Valeurs zéro" dans la zone "Fenêtres"

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Ushu71 Messages postés 3 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 25 juin 2008
25 juin 2008 à 09:16
Merci je vais essayer.
0
Ushu71 Messages postés 3 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 25 juin 2008
25 juin 2008 à 10:09
Voici le code que j'ai écrit mais je rencontre un problème, la boucle ne se fait pas entièrement, elle s'arrète colonne AM au lieu d'aller jusqu'à la colonne BT. Je ne comprends pas pourquoi. Merci je me dire pourquoi.

Code:

Dim oRange As Range

Range("W3").Select

For Each oRange In Range("W3:BT3")

If oRange.Text vbNullString Or oRange.Text "0" Then
ActiveCell.EntireColumn.Select
Selection.EntireColumn.Hidden = True
Else: Selection.EntireColumn.Hidden = False
End If

Next oRange
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
25 juin 2008 à 14:41
salut,

ça n'a pas lieu d'être :

Sub test()
Dim oRange As Range

    Range("W3").Select
    
    For Each oRange In Range("W3:BT3")
            Debug.Print oRange.Address
'            If
oRange.Text vbNullString Or oRange.Text "0" Then
'                ActiveCell.EntireColumn.Select
'                Selection.EntireColumn.Hidden =
True
'            Else:
Selection.EntireColumn.Hidden = False
'            End If
            
    Next oRange
End Sub
~
<small>Mortalino ~ [code.aspx?ID=39466 Colorisation
automatique]</small>

Resultat :

$W$3
$X$3
$Y$3
$Z$3
$AA$3
$AB$3
$AC$3
$AD$3
$AE$3
$AF$3
$AG$3
$AH$3
$AI$3
$AJ$3
$AK$3
$AL$3
$AM$3
$AN$3
$AO$3
$AP$3
$AQ$3
$AR$3
$AS$3
$AT$3
$AU$3
$AV$3
$AW$3
$AX$3
$AY$3
$AZ$3
$BA$3
$BB$3
$BC$3
$BD$3
$BE$3
$BF$3
$BG$3
$BH$3
$BI$3
$BJ$3
$BK$3
$BL$3
$BM$3
$BN$3
$BO$3
$BP$3
$BQ$3
$BR$3
$BS$3
$BT$3

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0
Rejoignez-nous