Masquer des lignes vides

Lyly601 Messages postés 67 Date d'inscription jeudi 5 janvier 2006 Statut Membre Dernière intervention 16 octobre 2006 - 20 févr. 2006 à 15:22
cs_Le routier Messages postés 16 Date d'inscription lundi 20 février 2006 Statut Membre Dernière intervention 19 mai 2006 - 20 févr. 2006 à 17:28
Bonjour,



Qui aurait la gentillesse d'aider une débutante!!!!!

J'ai un code qui me supprime les colonnes vides :



Sub Coupe_Colonne()

nbcolonne = ActiveSheet.UsedRange.Columns.Count

nbcolonne = nbligne + ActiveSheet.UsedRange.Row - 1

Application.ScreenUpdating = False 'Supprime les lignes vides

For i = nbcolonne To 1 Step -1

If Application.WorksheetFunction.CountA(Columns(i)) = 0 Then Columns(i).Delete

End Sub



Je ne parvient pas vraiment à mon but puisque je
voudrais que cette macro, teste les cellules uniquement à partir de la
ligne 2 et qu'au lieu de les supprimer, elle les masquent..

Comment faire

Je vous donne un exemple pour préciser :


A

B

C
D

1
n° offre
nb de pièce
Délais
Commande

2

12
140


01/01



3

10
20


08/03

4





Dans mon exemple je voudrais qu'après avoir testé les cellules à partir
de la deuxième ligne, ma macro constatent que la colonne C (à partir de
la ligne 2) est vide et qu'elle la masque.





Merci d'avance à tous



Aurélie

11 réponses

crogiez Messages postés 86 Date d'inscription lundi 8 décembre 2003 Statut Membre Dernière intervention 27 décembre 2011
20 févr. 2006 à 16:08
tu veux masquer ou supprimer
it is not the same

http://crogiez.free.fr
0
Lyly601 Messages postés 67 Date d'inscription jeudi 5 janvier 2006 Statut Membre Dernière intervention 16 octobre 2006
20 févr. 2006 à 16:09
Je voudrais masquer svp
0
cs_Le routier Messages postés 16 Date d'inscription lundi 20 février 2006 Statut Membre Dernière intervention 19 mai 2006
20 févr. 2006 à 16:27
Salut ..
Je suis pas un expert mais je peux te proposer ça :

a = 2
While Cells(a, 1) <> "" ' boucle pour que la macro s'arrête quand colonne a est vide
If Cells(a, 3) = "" Then
Rows(a).Select
Selection.EntireRow.Hidden = True
End If
a = a + 1
Wend

voila... j'espère que ça t'ira
Bye

Les routiers sont sympas !!!

Pensez à réponse acceptée ...
0
crogiez Messages postés 86 Date d'inscription lundi 8 décembre 2003 Statut Membre Dernière intervention 27 décembre 2011
20 févr. 2006 à 16:28
pour masquer

Columns("C:C").Select
Selection.EntireColumn.Hidden = True

http://crogiez.free.fr
0

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

Posez votre question
Lyly601 Messages postés 67 Date d'inscription jeudi 5 janvier 2006 Statut Membre Dernière intervention 16 octobre 2006
20 févr. 2006 à 16:36
Je débute donc je ne sait pas vraiment où placer ceci dans ma macro.

De plus comment faire pour tester les cellules qu'a partir de la ligne 2 comme dans mon exemple ci dessus



Merci de votre patience
0
Lyly601 Messages postés 67 Date d'inscription jeudi 5 janvier 2006 Statut Membre Dernière intervention 16 octobre 2006
20 févr. 2006 à 16:37
je vais peut passé pour une chiante mais ça ne marche pas
0
cs_Le routier Messages postés 16 Date d'inscription lundi 20 février 2006 Statut Membre Dernière intervention 19 mai 2006
20 févr. 2006 à 16:44
Le a = 2 s'ignifie qu'il cherche à patrtir de la ligne 2

Un ptit conseil : supprime toute ta macro et colle celle-ci pour tester ....

Sub essais()
a = 2
While Cells(a, 1) <> "" ' boucle pour que la macro s'arrête quand colonne a est vide
If Cells(a, 3) = "" Then
Rows(a).Select
Selection.EntireRow.Hidden = True
End If
a = a + 1
Wend
End sub

Bon courage

Les routiers sont sympas !!!
Pensez à réponse acceptée ...
0
crogiez Messages postés 86 Date d'inscription lundi 8 décembre 2003 Statut Membre Dernière intervention 27 décembre 2011
20 févr. 2006 à 16:44
Cet exemple montre comment balayer une colonne de données intitulée « myRange ». Si une cellule contient la même valeur que celle située immédiatement au-dessus, l'adresse de la cellule contenant le doublon est affichée.

Set r =  Range("myRange")
For n = 1 To r.Rows.Count
    If r. Cells (n, 1)  = r.Cells(n + 1, 1) Then
        MsgBox "Duplicate data in " &amp; r.Cells(n + 1, 1).Address
    End If
Next n


http://crogiez.free.fr
0
Lyly601 Messages postés 67 Date d'inscription jeudi 5 janvier 2006 Statut Membre Dernière intervention 16 octobre 2006
20 févr. 2006 à 16:46
non désolé ça ne marche pas, en plus tu veux me masquer une ligne Selection.EntireRow.Hidden = True
alors que moi c'est la colonne que je veux masquer.
0
crogiez Messages postés 86 Date d'inscription lundi 8 décembre 2003 Statut Membre Dernière intervention 27 décembre 2011
20 févr. 2006 à 16:59
Worksheets("Feuil1").Activate
Range("A1:IV65536").Select
areaCount = Selection.Areas.Count
MsgBox Selection.Columns.Count
MsgBox Selection.Rows.Count


http://crogiez.free.fr
0
cs_Le routier Messages postés 16 Date d'inscription lundi 20 février 2006 Statut Membre Dernière intervention 19 mai 2006
20 févr. 2006 à 17:28
Excuse j'avais mal compris c'que tu voulais (a cause du titre de ton mess ptêtre " Masquer des lignes vides")

ça ca devrait te convenir par contre elle est super lente (bricolage oblige) ... mais c'est tout c'que je peux te proposer (j'débute aussi ..)

si kk'1 sais mieux faire, ça m'intéresse aussi ....

Sub Macro1()
'
a = 1
While Cells(1, a) <> ""
Columns(a).Select


numblanks = 0
For Each Cel In Selection
If Cel.Value <> "" Then
numblanks = numblanks + 1
End If
Next Cel

If numblanks <= 1 Then
Columns(a).Select
Selection.EntireColumn.Hidden = True
End If

a = a + 1
Wend


'
End Sub

TSHUSSS

Les routiers sont sympas !!!
0
Rejoignez-nous