Inverser les données mis en colonne en donnée mis en ligne

bansan

XLDnaute Junior
Bonsoir,
J'aimerais mettre les données que j'ai sur la premiere colonne sur une ligne et inversement les données de la premiere ligne sur une colonne...est ce que cela est possible??

En outre, j'ai merais pouvoir faire une menu deroulant ou je choisirais le mois ce qui afficherait en dessous les données correspondants du mois de Janvier


Si quelqu'un pouvait m'aider...
Merci

Ci joint mon fichier
 

Pièces jointes

  • Trésorerie 2.008.zip
    20.8 KB · Affichages: 37
  • Trésorerie 2.008.zip
    20.8 KB · Affichages: 38
  • Trésorerie 2.008.zip
    20.8 KB · Affichages: 37

mth

XLDnaute Barbatruc
Re : Inverser les données mis en colonne en donnée mis en ligne

à part le code erreur et la ligne qui semble bloquer, je ne vois pas ce que je peux trouver, dis moi ce que je dois chercher et où pour te répondre ...:eek:
 

Cousinhub

XLDnaute Barbatruc
Inactif
Re : Inverser les données mis en colonne en donnée mis en ligne

Re-,

Tu lances l'enregistreur de macro, sur le même fichier, et tu sélectionnes la ligne 3, puis Ctrl + F, tu entres 01/02/2008, puis suivant
Stoppe l'enregistreur, et donne le code
Merci
 

mth

XLDnaute Barbatruc
Re : Inverser les données mis en colonne en donnée mis en ligne

Comme ça?

Sub Macro1()
Rows("3:3").Select
Selection.Find(What:="01/02/2008", After:=ActiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
End Sub
 

Cousinhub

XLDnaute Barbatruc
Inactif
Re : Inverser les données mis en colonne en donnée mis en ligne

Bon, c'est le même code que 2003....

Change la variable, à la place de c, mets col, par exemple

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then
If Target = "Tous" Then Cells.EntireColumn.Hidden = False: Exit Sub
Application.ScreenUpdating = False
DerCol = [IV3].End(xlToLeft).Column + 2
    Range(Cells(3, 3), Cells(3, DerCol)).EntireColumn.Hidden = False
    col = Rows("3:3").Find(Target).Column
    Range(Cells(3, 3), Cells(3, DerCol)).EntireColumn.Hidden = True
    Range(Cells(3, col), Cells(3, col + 2)).EntireColumn.Hidden = False
Application.ScreenUpdating = True
End If
End Sub

A tout z'hasard......
 

Cousinhub

XLDnaute Barbatruc
Inactif
Re : Inverser les données mis en colonne en donnée mis en ligne

Re-,

une autre démarche :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then
If Target = "Tous" Then Cells.EntireColumn.Hidden = False: Exit Sub
Application.ScreenUpdating = False
DerCol = [IV3].End(xlToLeft).Column + 2
    Range(Cells(3, 3), Cells(3, DerCol)).EntireColumn.Hidden = False
    Set col = Rows("3:3").Find(Target)
    c = col.Column
    Range(Cells(3, 3), Cells(3, DerCol)).EntireColumn.Hidden = True
    Range(Cells(3, c), Cells(3, c + 2)).EntireColumn.Hidden = False
Application.ScreenUpdating = True
End If
End Sub

On va y arriver....:cool:
 

Cousinhub

XLDnaute Barbatruc
Inactif
Re : Inverser les données mis en colonne en donnée mis en ligne

Patient, le gars, hein?????:D:D

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then
If Target = "Tous" Then Cells.EntireColumn.Hidden = False: Exit Sub
Application.ScreenUpdating = False
DerCol = [IV3].End(xlToLeft).Column + 2
    Range(Cells(3, 3), Cells(3, DerCol)).EntireColumn.Hidden = False
    Set col = Rows("3:3").Find(Target)
    Range(Cells(3, 3), Cells(3, DerCol)).EntireColumn.Hidden = True
    Range(Cells(3, col.Column), Cells(3, col.Column + 2)).EntireColumn.Hidden = False
Application.ScreenUpdating = True
End If
End Sub

Peut-être?:cool:
 

mth

XLDnaute Barbatruc
Re : Inverser les données mis en colonne en donnée mis en ligne

sourire, oui effectivement j'admire ta patience! (mais ça tu le sais déjà...)

Bon là c'est la ligne ci dessous qui plante:

Range(Cells(3, col.Column), Cells(3, col.Column + 2)).EntireColumn.Hidden = False

dans le fichier les colonnes A et B sont apparentes, et ensuite tout est masqué jusqu'à AS qui est visible.

Quand je sélectionne "TOUS" ça marche, c'est le choix d'un mois qui bloque.
 

Cousinhub

XLDnaute Barbatruc
Inactif
Re : Inverser les données mis en colonne en donnée mis en ligne

Re-,

dans le code, clique au milieu de col, et fais Débogage, ajouter un espion
Tu as la fenêtre Espions, en bas, avec
Expression :col
Valeur <Hors du contexte>
Type : Variant/Empty
Contexte : Feuil1.Worksheet_Change

Tu mets un point d'arrêt (clique dans la marge grise, au niveau de DerCol, la ligne passe en marron), tu passeras en mode pas à pas

Reviens sur la feuille, et change de mois
Tu arriveras automatiquement au point d'arrêt
Tu fais F8 jusqu'à la ligne Set col, puis F8
Tu auras les valeurs de col en bas
Reviens pour dire ce que la bête dit
 

Discussions similaires

Statistiques des forums

Discussions
313 769
Messages
2 102 234
Membres
108 181
dernier inscrit
Chr1sD