Macro

Résolu
Sourire -  
 Sourire -
Bonjour,


https://www.cjoint.com/?0mcwcHLNADS

Est-ce que quelqu'un aurait la gentillesse me faire une petite marco pour afficher l'année que je souhaite de toutes les colonnes ?


A voir également:

8 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonsoir,

Soi un peu plus précis sur ce que tu veux comme résultat....
Masquer les autres colonnes ?
Leur total en colonne A ?
Autre chose ?

eric
0
tchernosplif Messages postés 600 Date d'inscription   Statut Membre Dernière intervention   247
 
Bonsoir,

Voici un exemple en utilisant une liste déroulante et RECHERCHEH

https://www.cjoint.com/?0mcwBpQAzhH

Sinon, la fonction DECALER aurait été plus indiqué pour l'exemple... si une âme charitable veut s'y coller.
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 725
 
bonjour à tous,

créer une macro qui me permet de uniquement avoir l'année 2008 de A,B,C

En fonction de ce que j'ai compris de ta demande, tu peux essayer cela :

Public Sub affiche_année()
Dim ann As Integer
Dim c As Integer
Dim l As Integer
l = 3 ' ligne des années
ann = Application.InputBox("Saisissez l'année souhaitée", "Choix année")
For c = 1 To Cells(l, Rows(1).Cells.Count).End(xlToLeft).Column
    If Cells(l, c).Value <> ann And Cells(l, c).Value <> "" Then
        Columns(c).Hidden = True
    Else
        Columns(c).Hidden = False
    End If
Next c
End Sub
0
Sourire
 
Ca à l'air super mais je sais pas comment créer une Inputbox? Tu pourrais me donner un exemple :-)
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 725
 
Tu n'as pas à créer une Inputbox : c'était pour choisir l'année.
Si tu saisis en O3 tu mets cette macro qui est automatique au changement de la cellule
Private Sub Worksheet_Change(ByVal sel As Range)
If Not Intersect([O3], sel) Is Nothing Then
Dim c As Integer
Dim l As Integer
l = 3 ' ligne des années
For c = 1 To Cells(l, Rows(1).Cells.Count).End(xlToLeft).Column
    If Cells(l, c).Value <> sel.Value And Cells(l, c).Value <> "" Then
        Columns(c).Hidden = True
    Else
        Columns(c).Hidden = False
    End If
Next c
End If
End Sub

Il faut que ta saisie de date soit sur la même ligne que les autres dates sinon tu ne peux plus saisir.
0
Sourire
 
Superbe merci infiniment!
0
tchernosplif Messages postés 600 Date d'inscription   Statut Membre Dernière intervention   247
 
J'ai ajouté la fonction DECALER sur ce classeur.

https://www.cjoint.com/?0mcwUO6zCnf
0

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

Posez votre question
Sourire
 
Super tchernosplif c'est du bon travail, eriic si tu veux un exemple tchernosplif a bien compris ce que je voulais mais l'ennui c'est que je voudrais que ca le fasse directement sur les colonnes je ne souhaiterais pas créer des colonnes supplémentaires c'est possible ? Par contre je garde ton fichier tchernosplif c'est une bonne méthode je connaissais pas :-)

Si tu veux une exemple je t''ai mis le résultat que j'aurais souhaité avoir :-)

https://www.cjoint.com/?0mcwVhFboUt
0
Sourire
 
Gbinforme tu pourrais pas me faire un modèle?
0
Sourire
 
Superbe Gbinforme ca fonctionne! Je te remercie infiniment.... :-)
0
Sourire
 
Merci beaucoup pour toutes ces astuces
0