impression de certaine colonne sous excel en VBA

Alex550445

XLDnaute Junior
Bonjour,
j'ai fait un programme sous excel pour imprimer certaines colonnes d'un tableau si la colonne 9 contient "à commander". Après plusieurs heures sur mon prog j'ai enfin trouvé mais je comprend pas la ligne de commande suivante :
If Cells(n, 9) <> "à commander" Then

si la colonne 9 affiche à commander, pourquoi mettre "<>" et non "= "quelle est la difference entre ces deux commandes ?

Au début j'avais mis "=" mais ca ne m'imprimais pas les bonnes lignes

Je vous joins mon prog entier, si vous pouviez me dire ce que vous en pensez ou si je peux améliorer !!
Je débute et je voudrais bien savoir si je m'en sort pas trop mal
 

Pièces jointes

  • Classeur1.xls
    47 KB · Affichages: 67
  • Classeur1.xls
    47 KB · Affichages: 62
  • Classeur1.xls
    47 KB · Affichages: 65

jeanpierre

Nous a quitté
Repose en paix
Re : impression de certaine colonne sous excel en VBA

Bonjour Alex550445 et Bienvenue sur le forum,

On peut mettre = et si c'est bon on fait, sinon on fait pas...

On peut mettre <>, si différent, on ne fait pas, sinon on fait...

Je n'ai pas d'imprimante pour tester et te dire si tu peux améliorer, mais à première vue.... c'est pas mal. Néanmoins un code peut toujours être amélioré... on va voir les autres réactions.

Bonne fin d'après-midi.

Jean-Pierre
 

bqtr

XLDnaute Accro
Re : impression de certaine colonne sous excel en VBA

Bonjour Alex550445, jeanpierre

Code:
For n = 2 To 150
If Cells(n, 9) <> "à commander" Then ' si la colonne 9 affiche à commander
Rows(n).Hidden = True ' la condition est vraie
End If ' et

Ce bout de code sert à masquer les lignes si le contenu de la cellule: Cells(n,9) est différent de "à commander".
Si tu mets le signe = , c'est les lignes qui ont "à commander" en cells(n,9) qui seront masquées.

A+

Edit: tu n'es pas obligé des selectionner les colonnes avant des les masquer ou de les afficher :

Code:
Private Sub masqueBCD_Click()
Range("B:D, L:IV").EntireColumn.Hidden = True ' masque colonne
Range("A1").Select 'selectionne la cellule A1 pour l'affichage
End Sub
 
Private Sub tout_Click()
Range("A:IV").EntireColumn.Hidden = False
Range("A1").Select
End Sub

Private Sub Affichage1_Click()
Range("A:IV").EntireColumn.Hidden = False
Range("C:D,I:J, L:IV").EntireColumn.Hidden = True
Range("A1").Select
End Sub
 
Dernière édition:

Alex550445

XLDnaute Junior
Re : impression de certaine colonne sous excel en VBA

Bonjour Alex550445, jeanpierre

Edit: tu n'es pas obligé des selectionner les colonnes avant des les masquer ou de les afficher :

Code:
Private Sub masqueBCD_Click()
Range("B:D, L:IV").EntireColumn.Hidden = True ' masque colonne
Range("A1").Select 'selectionne la cellule A1 pour l'affichage
End Sub
 
Private Sub tout_Click()
Range("A:IV").EntireColumn.Hidden = False
Range("A1").Select
End Sub

Private Sub Affichage1_Click()
Range("A:IV").EntireColumn.Hidden = False
Range("C:D,I:J, L:IV").EntireColumn.Hidden = True
Range("A1").Select
End Sub


bien noté merci du tuyau, j'ai encore appris un truc
:)
 

bqtr

XLDnaute Accro
Re : impression de certaine colonne sous excel en VBA

Re,

Vu que tu précises que tu débutes, quand tu as du mal avec une instruction, un objet ... va dans l'aide.

Quand tu rédiges ton code, séléctionne le mot, par exemple Hidden et appuie sur la touche F1 et tu auras les propriétés, les méthodes et des exemples d'utilisation. C'est très formateur.

Bonne journée
 

Discussions similaires

Réponses
12
Affichages
321
Réponses
11
Affichages
514

Statistiques des forums

Discussions
312 229
Messages
2 086 422
Membres
103 206
dernier inscrit
diambote