Bonjour,
Je possède un tableau croisé dynamique issu d'une première base de données.
Les lignes constituent les libellées et les colonnes la périodicité .
mois1ann ée1 mois2année1 ......
champ1 ..... ......
.......
champ2 ..... ......
......
Il y énormement de lignes et de colonnes. Je souhaiterai mettre en plac e une
macro qui me fasse une seconde base de données. C'est à dire que le n om de
chaque colonnes deviennent une clé qui apparaissent à toutes les lign es dans une
nouvelle colonne.
Champ1 mois1année1 ............
Champ2 mois1année1.............
.................................................
Champ1 mois2année1..............
Champ2 mois2année1..............
.................................................
J'éspère que ma question est compréhensible.
Merci par avance.
Romain
Bonjour,
Je possède un tableau croisé dynamique issu d'une première base de données.
Les lignes constituent les libellées et les colonnes la périodicité .
mois1ann ée1 mois2année1 ......
champ1 ..... ......
.......
champ2 ..... ......
......
Il y énormement de lignes et de colonnes. Je souhaiterai mettre en plac e une
macro qui me fasse une seconde base de données. C'est à dire que le n om de
chaque colonnes deviennent une clé qui apparaissent à toutes les lign es dans une
nouvelle colonne.
Champ1 mois1année1 ............
Champ2 mois1année1.............
.................................................
Champ1 mois2année1..............
Champ2 mois2année1..............
.................................................
J'éspère que ma question est compréhensible.
Merci par avance.
Romain
Bonjour,
Je possède un tableau croisé dynamique issu d'une première base de données.
Les lignes constituent les libellées et les colonnes la périodicité .
mois1ann ée1 mois2année1 ......
champ1 ..... ......
.......
champ2 ..... ......
......
Il y énormement de lignes et de colonnes. Je souhaiterai mettre en plac e une
macro qui me fasse une seconde base de données. C'est à dire que le n om de
chaque colonnes deviennent une clé qui apparaissent à toutes les lign es dans une
nouvelle colonne.
Champ1 mois1année1 ............
Champ2 mois1année1.............
.................................................
Champ1 mois2année1..............
Champ2 mois2année1..............
.................................................
J'éspère que ma question est compréhensible.
Merci par avance.
Romain
Bonjour,
Je possède un tableau croisé dynamique issu d'une première
base de données.
Les lignes constituent les libellées et les colonnes la
périodicité.
mois1année1 mois2année1 ......
champ1 ..... ......
.......
champ2 ..... ......
......
Il y énormement de lignes et de colonnes. Je souhaiterai mettre en place
une macro qui me fasse une seconde base de données. C'est à dire
que le nom de chaque colonnes deviennent une clé qui apparaissent
à toutes les lignes dans une nouvelle colonne.
Champ1 mois1année1 ............
Champ2 mois1année1.............
..................................................
Champ1 mois2année1..............
Champ2 mois2année1..............
..................................................
J'éspère que ma question est compréhensible.
Merci par avance.
Romain
Bonjour,
Je possède un tableau croisé dynamique issu d'une première
base de données.
Les lignes constituent les libellées et les colonnes la
périodicité.
mois1année1 mois2année1 ......
champ1 ..... ......
.......
champ2 ..... ......
......
Il y énormement de lignes et de colonnes. Je souhaiterai mettre en place
une macro qui me fasse une seconde base de données. C'est à dire
que le nom de chaque colonnes deviennent une clé qui apparaissent
à toutes les lignes dans une nouvelle colonne.
Champ1 mois1année1 ............
Champ2 mois1année1.............
..................................................
Champ1 mois2année1..............
Champ2 mois2année1..............
..................................................
J'éspère que ma question est compréhensible.
Merci par avance.
Romain
Bonjour,
Je possède un tableau croisé dynamique issu d'une première
base de données.
Les lignes constituent les libellées et les colonnes la
périodicité.
mois1année1 mois2année1 ......
champ1 ..... ......
.......
champ2 ..... ......
......
Il y énormement de lignes et de colonnes. Je souhaiterai mettre en place
une macro qui me fasse une seconde base de données. C'est à dire
que le nom de chaque colonnes deviennent une clé qui apparaissent
à toutes les lignes dans une nouvelle colonne.
Champ1 mois1année1 ............
Champ2 mois1année1.............
..................................................
Champ1 mois2année1..............
Champ2 mois2année1..............
..................................................
J'éspère que ma question est compréhensible.
Merci par avance.
Romain
romanroman a écrit le 10/08/2010 à 11h10 :
> Bonjour,
> Je possède un tableau croisé dynamique issu d'une première
> base de données.
> Les lignes constituent les libellées et les colonnes la
> périodicité.
> mois1an née1 mois2année1 ......
> champ1 ..... ......
> .......
> champ2 ..... ......
> ......
> Il y énormement de lignes et de colonnes. Je souhaiterai mettre en pl ace
> une macro qui me fasse une seconde base de données. C'est à dire
> que le nom de chaque colonnes deviennent une clé qui apparaissent
> à toutes les lignes dans une nouvelle colonne.
> Champ1 mois1année1 ............
> Champ2 mois1année1.............
> ..................................................
> Champ1 mois2année1..............
> Champ2 mois2année1..............
> ..................................................
> J'éspère que ma question est compréhensible.
> Merci par avance.
> Romain
Tout d'abord merci, je vous joins le fichier.
Le lien esthttp://cjoint.com/?iknllFd3jh.
Le but de la manoeuvre est de mettre sur chaque feuilles, les colonnes en
lignes et garder le titre de la colonne en clé de liaison.
Voyez vous ce que je veux dire?
Merci.
Romain- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
romanroman a écrit le 10/08/2010 à 11h10 :
> Bonjour,
> Je possède un tableau croisé dynamique issu d'une première
> base de données.
> Les lignes constituent les libellées et les colonnes la
> périodicité.
> mois1an née1 mois2année1 ......
> champ1 ..... ......
> .......
> champ2 ..... ......
> ......
> Il y énormement de lignes et de colonnes. Je souhaiterai mettre en pl ace
> une macro qui me fasse une seconde base de données. C'est à dire
> que le nom de chaque colonnes deviennent une clé qui apparaissent
> à toutes les lignes dans une nouvelle colonne.
> Champ1 mois1année1 ............
> Champ2 mois1année1.............
> ..................................................
> Champ1 mois2année1..............
> Champ2 mois2année1..............
> ..................................................
> J'éspère que ma question est compréhensible.
> Merci par avance.
> Romain
Tout d'abord merci, je vous joins le fichier.
Le lien esthttp://cjoint.com/?iknllFd3jh.
Le but de la manoeuvre est de mettre sur chaque feuilles, les colonnes en
lignes et garder le titre de la colonne en clé de liaison.
Voyez vous ce que je veux dire?
Merci.
Romain- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
romanroman a écrit le 10/08/2010 à 11h10 :
> Bonjour,
> Je possède un tableau croisé dynamique issu d'une première
> base de données.
> Les lignes constituent les libellées et les colonnes la
> périodicité.
> mois1an née1 mois2année1 ......
> champ1 ..... ......
> .......
> champ2 ..... ......
> ......
> Il y énormement de lignes et de colonnes. Je souhaiterai mettre en pl ace
> une macro qui me fasse une seconde base de données. C'est à dire
> que le nom de chaque colonnes deviennent une clé qui apparaissent
> à toutes les lignes dans une nouvelle colonne.
> Champ1 mois1année1 ............
> Champ2 mois1année1.............
> ..................................................
> Champ1 mois2année1..............
> Champ2 mois2année1..............
> ..................................................
> J'éspère que ma question est compréhensible.
> Merci par avance.
> Romain
Tout d'abord merci, je vous joins le fichier.
Le lien esthttp://cjoint.com/?iknllFd3jh.
Le but de la manoeuvre est de mettre sur chaque feuilles, les colonnes en
lignes et garder le titre de la colonne en clé de liaison.
Voyez vous ce que je veux dire?
Merci.
Romain- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
(Attention les noms de feuilles en dur dans le Select Case
correspondent à ton classeur exemple)
Tu fera un doubleclic dans la feuille à croiser pour utiliser, après
avoir mis
dans le thisworkbook de ce classeur:
'''''''''
Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim i As Long, LastC As Long, LastR As Long
Select Case Sh.Name
Case "UF", "POLE", "SERVICE"
Cancel = True
Application.ScreenUpdating = False
ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
With Sh
.[a:b].Copy [a1]
[c1] = "Période"
[d1] = "Montant"
LastC = .[iv1].End(xlToLeft).Column
LastR = .[a65536].End(xlUp).Row
For i = LastC To 3 Step -1
Range("c2", "c" & LastR) = .Cells(1, i)
.Range(.Cells(2, i), _
.Cells(LastR, i)).Copy [d2]
Range("a2", "d" & LastR).Copy
Range("a2", "d" & LastR).Insert _
Shift:=xlDown
Next
End With
Range("a2", "d" & LastR).EntireRow.Delete
Case Else
Exit Sub
End Select
Columns(4).AutoFit
ActiveSheet.Name = "Cross" & _
Left(Sh.Name, 25) & Format(Now, "yymmddhhnn")
Application.ScreenUpdating = True
End Sub
''''''
'LSteph
On 10 août, 13:15, romanroman wrote:
> romanroman a écrit le 10/08/2010 à 11h10 :
> > Bonjour,
> > Je possède un tableau croisé dynamique issu d'une première
> > base de données.
> > Les lignes constituent les libellées et les colonnes la
> > périodicité.
> > mois1 année1 mois2année1 ......
> > champ1 ..... ......
> > .......
> > champ2 ..... ......
> > ......
> > Il y énormement de lignes et de colonnes. Je souhaiterai mettre en place
> > une macro qui me fasse une seconde base de données. C'est à dire
> > que le nom de chaque colonnes deviennent une clé qui apparaissent
> > à toutes les lignes dans une nouvelle colonne.
> > Champ1 mois1année1 ............
> > Champ2 mois1année1.............
> > ..................................................
> > Champ1 mois2année1..............
> > Champ2 mois2année1..............
> > ..................................................
> > J'éspère que ma question est compréhensible.
> > Merci par avance.
> > Romain
> Tout d'abord merci, je vous joins le fichier.
> Le lien esthttp://cjoint.com/?iknllFd3jh.
> Le but de la manoeuvre est de mettre sur chaque feuilles, les colonnes en
> lignes et garder le titre de la colonne en clé de liaison.
> Voyez vous ce que je veux dire?
> Merci.
> Romain- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
(Attention les noms de feuilles en dur dans le Select Case
correspondent à ton classeur exemple)
Tu fera un doubleclic dans la feuille à croiser pour utiliser, après
avoir mis
dans le thisworkbook de ce classeur:
'''''''''
Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim i As Long, LastC As Long, LastR As Long
Select Case Sh.Name
Case "UF", "POLE", "SERVICE"
Cancel = True
Application.ScreenUpdating = False
ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
With Sh
.[a:b].Copy [a1]
[c1] = "Période"
[d1] = "Montant"
LastC = .[iv1].End(xlToLeft).Column
LastR = .[a65536].End(xlUp).Row
For i = LastC To 3 Step -1
Range("c2", "c" & LastR) = .Cells(1, i)
.Range(.Cells(2, i), _
.Cells(LastR, i)).Copy [d2]
Range("a2", "d" & LastR).Copy
Range("a2", "d" & LastR).Insert _
Shift:=xlDown
Next
End With
Range("a2", "d" & LastR).EntireRow.Delete
Case Else
Exit Sub
End Select
Columns(4).AutoFit
ActiveSheet.Name = "Cross" & _
Left(Sh.Name, 25) & Format(Now, "yymmddhhnn")
Application.ScreenUpdating = True
End Sub
''''''
'LSteph
On 10 août, 13:15, romanroman <romanro...@domain-xyz.in> wrote:
> romanroman a écrit le 10/08/2010 à 11h10 :
> > Bonjour,
> > Je possède un tableau croisé dynamique issu d'une première
> > base de données.
> > Les lignes constituent les libellées et les colonnes la
> > périodicité.
> > mois1 année1 mois2année1 ......
> > champ1 ..... ......
> > .......
> > champ2 ..... ......
> > ......
> > Il y énormement de lignes et de colonnes. Je souhaiterai mettre en place
> > une macro qui me fasse une seconde base de données. C'est à dire
> > que le nom de chaque colonnes deviennent une clé qui apparaissent
> > à toutes les lignes dans une nouvelle colonne.
> > Champ1 mois1année1 ............
> > Champ2 mois1année1.............
> > ..................................................
> > Champ1 mois2année1..............
> > Champ2 mois2année1..............
> > ..................................................
> > J'éspère que ma question est compréhensible.
> > Merci par avance.
> > Romain
> Tout d'abord merci, je vous joins le fichier.
> Le lien esthttp://cjoint.com/?iknllFd3jh.
> Le but de la manoeuvre est de mettre sur chaque feuilles, les colonnes en
> lignes et garder le titre de la colonne en clé de liaison.
> Voyez vous ce que je veux dire?
> Merci.
> Romain- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour,
(Attention les noms de feuilles en dur dans le Select Case
correspondent à ton classeur exemple)
Tu fera un doubleclic dans la feuille à croiser pour utiliser, après
avoir mis
dans le thisworkbook de ce classeur:
'''''''''
Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim i As Long, LastC As Long, LastR As Long
Select Case Sh.Name
Case "UF", "POLE", "SERVICE"
Cancel = True
Application.ScreenUpdating = False
ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
With Sh
.[a:b].Copy [a1]
[c1] = "Période"
[d1] = "Montant"
LastC = .[iv1].End(xlToLeft).Column
LastR = .[a65536].End(xlUp).Row
For i = LastC To 3 Step -1
Range("c2", "c" & LastR) = .Cells(1, i)
.Range(.Cells(2, i), _
.Cells(LastR, i)).Copy [d2]
Range("a2", "d" & LastR).Copy
Range("a2", "d" & LastR).Insert _
Shift:=xlDown
Next
End With
Range("a2", "d" & LastR).EntireRow.Delete
Case Else
Exit Sub
End Select
Columns(4).AutoFit
ActiveSheet.Name = "Cross" & _
Left(Sh.Name, 25) & Format(Now, "yymmddhhnn")
Application.ScreenUpdating = True
End Sub
''''''
'LSteph
On 10 août, 13:15, romanroman wrote:
> romanroman a écrit le 10/08/2010 à 11h10 :
> > Bonjour,
> > Je possède un tableau croisé dynamique issu d'une première
> > base de données.
> > Les lignes constituent les libellées et les colonnes la
> > périodicité.
> > mois1 année1 mois2année1 ......
> > champ1 ..... ......
> > .......
> > champ2 ..... ......
> > ......
> > Il y énormement de lignes et de colonnes. Je souhaiterai mettre en place
> > une macro qui me fasse une seconde base de données. C'est à dire
> > que le nom de chaque colonnes deviennent une clé qui apparaissent
> > à toutes les lignes dans une nouvelle colonne.
> > Champ1 mois1année1 ............
> > Champ2 mois1année1.............
> > ..................................................
> > Champ1 mois2année1..............
> > Champ2 mois2année1..............
> > ..................................................
> > J'éspère que ma question est compréhensible.
> > Merci par avance.
> > Romain
> Tout d'abord merci, je vous joins le fichier.
> Le lien esthttp://cjoint.com/?iknllFd3jh.
> Le but de la manoeuvre est de mettre sur chaque feuilles, les colonnes en
> lignes et garder le titre de la colonne en clé de liaison.
> Voyez vous ce que je veux dire?
> Merci.
> Romain- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
...un détail
Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim i As Long, LastC As Long, LastR As Long
Select Case Sh.Name
Case "UF", "POLE", "SERVICE"
Cancel = True
Application.ScreenUpdating = False
ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
With Sh
.[a:b].Copy [a1]
[c1] = "Période"
[d1] = "Montant"
LastC = .[iv1].End(xlToLeft).Column
LastR = .[a65536].End(xlUp).Row
For i = LastC To 3 Step -1
Range("c2", "c" & LastR) = .Cells(1, i)
.Range(.Cells(2, i), _
.Cells(LastR, i)).Copy [d2]
Range("a2", "d" & LastR).Copy
Range("a2", "d" & LastR).Insert _
Shift:=xlDown
Next
End With
Range("a2", "d" & LastR).EntireRow.Delete
Case Else
Exit Sub
End Select
Columns(4).AutoFit
ActiveSheet.Name = "Cross" & _
Left(Sh.Name, 15) & Format(Now, "yymmddhhnn")
Application.ScreenUpdating = True
End Sub
On 10 août, 15:09, LSteph wrote:Bonjour,
(Attention les noms de feuilles en dur dans le Select Case
correspondent à ton classeur exemple)
Tu fera un doubleclic dans la feuille à croiser pour utiliser,
après
avoir mis
dans le thisworkbook de ce classeur:
'''''''''
Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim i As Long, LastC As Long, LastR As Long
Select Case Sh.Name
Case "UF", "POLE", "SERVICE"
Cancel = True
Application.ScreenUpdating = False
ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
With Sh
.[a:b].Copy [a1]
[c1] = "Période"
[d1] = "Montant"
LastC = .[iv1].End(xlToLeft).Column
LastR = .[a65536].End(xlUp).Row
For i = LastC To 3 Step -1
Range("c2", "c" & LastR) =
.Cells(1, i)
.Range(.Cells(2, i), _
.Cells(LastR, i)).Copy [d2]
Range("a2", "d" &
LastR).Copy
Range("a2", "d" &
LastR).Insert _
Shift:=xlDown
Next
End With
Range("a2", "d" & LastR).EntireRow.Delete
Case Else
Exit Sub
End Select
Columns(4).AutoFit
ActiveSheet.Name = "Cross" & _
Left(Sh.Name, 25) & Format(Now, "yymmddhhnn")
Application.ScreenUpdating = True
End Sub
''''''
'LSteph
On 10 août, 13:15, romanroman wrote:
> romanroman a écrit le 10/08/2010 à 11h10 :
> > Bonjour,
> > Je possède un tableau croisé dynamique issu d'une
première
> > base de données.
> > Les lignes constituent les libellées et les colonnes la
> > périodicité.
> >
mois1 année1
mois2année1 ......
> > champ1
.....
......
> > .......
> > champ2
.....
......
> > ......
> > Il y énormement de lignes et de colonnes. Je souhaiterai
mettre en place
> > une macro qui me fasse une seconde base de données. C'est
à dire
> > que le nom de chaque colonnes deviennent une clé qui
apparaissent
> > à toutes les lignes dans une nouvelle colonne.
> > Champ1 mois1année1 ............
> > Champ2 mois1année1.............
> > ..................................................
> > Champ1 mois2année1..............
> > Champ2 mois2année1..............
> > ..................................................
> > J'éspère que ma question est compréhensible.
> > Merci par avance.
> > Romain
> Tout d'abord merci, je vous joins le fichier.
> Le lien esthttp://cjoint.com/?iknllFd3jh.
> Le but de la manoeuvre est de mettre sur chaque feuilles, les colonnes
en
> lignes et garder le titre de la colonne en clé de liaison.
> Voyez vous ce que je veux dire?
> Merci.
> Romain- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le
texte des messages précédents -
- Afficher le texte des messages précédents -
...un détail
Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim i As Long, LastC As Long, LastR As Long
Select Case Sh.Name
Case "UF", "POLE", "SERVICE"
Cancel = True
Application.ScreenUpdating = False
ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
With Sh
.[a:b].Copy [a1]
[c1] = "Période"
[d1] = "Montant"
LastC = .[iv1].End(xlToLeft).Column
LastR = .[a65536].End(xlUp).Row
For i = LastC To 3 Step -1
Range("c2", "c" & LastR) = .Cells(1, i)
.Range(.Cells(2, i), _
.Cells(LastR, i)).Copy [d2]
Range("a2", "d" & LastR).Copy
Range("a2", "d" & LastR).Insert _
Shift:=xlDown
Next
End With
Range("a2", "d" & LastR).EntireRow.Delete
Case Else
Exit Sub
End Select
Columns(4).AutoFit
ActiveSheet.Name = "Cross" & _
Left(Sh.Name, 15) & Format(Now, "yymmddhhnn")
Application.ScreenUpdating = True
End Sub
On 10 août, 15:09, LSteph wrote:
Bonjour,
(Attention les noms de feuilles en dur dans le Select Case
correspondent à ton classeur exemple)
Tu fera un doubleclic dans la feuille à croiser pour utiliser,
après
avoir mis
dans le thisworkbook de ce classeur:
'''''''''
Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim i As Long, LastC As Long, LastR As Long
Select Case Sh.Name
Case "UF", "POLE", "SERVICE"
Cancel = True
Application.ScreenUpdating = False
ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
With Sh
.[a:b].Copy [a1]
[c1] = "Période"
[d1] = "Montant"
LastC = .[iv1].End(xlToLeft).Column
LastR = .[a65536].End(xlUp).Row
For i = LastC To 3 Step -1
Range("c2", "c" & LastR) =
.Cells(1, i)
.Range(.Cells(2, i), _
.Cells(LastR, i)).Copy [d2]
Range("a2", "d" &
LastR).Copy
Range("a2", "d" &
LastR).Insert _
Shift:=xlDown
Next
End With
Range("a2", "d" & LastR).EntireRow.Delete
Case Else
Exit Sub
End Select
Columns(4).AutoFit
ActiveSheet.Name = "Cross" & _
Left(Sh.Name, 25) & Format(Now, "yymmddhhnn")
Application.ScreenUpdating = True
End Sub
''''''
'LSteph
On 10 août, 13:15, romanroman wrote:
> romanroman a écrit le 10/08/2010 à 11h10 :
> > Bonjour,
> > Je possède un tableau croisé dynamique issu d'une
première
> > base de données.
> > Les lignes constituent les libellées et les colonnes la
> > périodicité.
> >
mois1 année1
mois2année1 ......
> > champ1
.....
......
> > .......
> > champ2
.....
......
> > ......
> > Il y énormement de lignes et de colonnes. Je souhaiterai
mettre en place
> > une macro qui me fasse une seconde base de données. C'est
à dire
> > que le nom de chaque colonnes deviennent une clé qui
apparaissent
> > à toutes les lignes dans une nouvelle colonne.
> > Champ1 mois1année1 ............
> > Champ2 mois1année1.............
> > ..................................................
> > Champ1 mois2année1..............
> > Champ2 mois2année1..............
> > ..................................................
> > J'éspère que ma question est compréhensible.
> > Merci par avance.
> > Romain
> Tout d'abord merci, je vous joins le fichier.
> Le lien esthttp://cjoint.com/?iknllFd3jh.
> Le but de la manoeuvre est de mettre sur chaque feuilles, les colonnes
en
> lignes et garder le titre de la colonne en clé de liaison.
> Voyez vous ce que je veux dire?
> Merci.
> Romain- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le
texte des messages précédents -
- Afficher le texte des messages précédents -
...un détail
Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim i As Long, LastC As Long, LastR As Long
Select Case Sh.Name
Case "UF", "POLE", "SERVICE"
Cancel = True
Application.ScreenUpdating = False
ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
With Sh
.[a:b].Copy [a1]
[c1] = "Période"
[d1] = "Montant"
LastC = .[iv1].End(xlToLeft).Column
LastR = .[a65536].End(xlUp).Row
For i = LastC To 3 Step -1
Range("c2", "c" & LastR) = .Cells(1, i)
.Range(.Cells(2, i), _
.Cells(LastR, i)).Copy [d2]
Range("a2", "d" & LastR).Copy
Range("a2", "d" & LastR).Insert _
Shift:=xlDown
Next
End With
Range("a2", "d" & LastR).EntireRow.Delete
Case Else
Exit Sub
End Select
Columns(4).AutoFit
ActiveSheet.Name = "Cross" & _
Left(Sh.Name, 15) & Format(Now, "yymmddhhnn")
Application.ScreenUpdating = True
End Sub
On 10 août, 15:09, LSteph wrote:Bonjour,
(Attention les noms de feuilles en dur dans le Select Case
correspondent à ton classeur exemple)
Tu fera un doubleclic dans la feuille à croiser pour utiliser,
après
avoir mis
dans le thisworkbook de ce classeur:
'''''''''
Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim i As Long, LastC As Long, LastR As Long
Select Case Sh.Name
Case "UF", "POLE", "SERVICE"
Cancel = True
Application.ScreenUpdating = False
ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
With Sh
.[a:b].Copy [a1]
[c1] = "Période"
[d1] = "Montant"
LastC = .[iv1].End(xlToLeft).Column
LastR = .[a65536].End(xlUp).Row
For i = LastC To 3 Step -1
Range("c2", "c" & LastR) =
.Cells(1, i)
.Range(.Cells(2, i), _
.Cells(LastR, i)).Copy [d2]
Range("a2", "d" &
LastR).Copy
Range("a2", "d" &
LastR).Insert _
Shift:=xlDown
Next
End With
Range("a2", "d" & LastR).EntireRow.Delete
Case Else
Exit Sub
End Select
Columns(4).AutoFit
ActiveSheet.Name = "Cross" & _
Left(Sh.Name, 25) & Format(Now, "yymmddhhnn")
Application.ScreenUpdating = True
End Sub
''''''
'LSteph
On 10 août, 13:15, romanroman wrote:
> romanroman a écrit le 10/08/2010 à 11h10 :
> > Bonjour,
> > Je possède un tableau croisé dynamique issu d'une
première
> > base de données.
> > Les lignes constituent les libellées et les colonnes la
> > périodicité.
> >
mois1 année1
mois2année1 ......
> > champ1
.....
......
> > .......
> > champ2
.....
......
> > ......
> > Il y énormement de lignes et de colonnes. Je souhaiterai
mettre en place
> > une macro qui me fasse une seconde base de données. C'est
à dire
> > que le nom de chaque colonnes deviennent une clé qui
apparaissent
> > à toutes les lignes dans une nouvelle colonne.
> > Champ1 mois1année1 ............
> > Champ2 mois1année1.............
> > ..................................................
> > Champ1 mois2année1..............
> > Champ2 mois2année1..............
> > ..................................................
> > J'éspère que ma question est compréhensible.
> > Merci par avance.
> > Romain
> Tout d'abord merci, je vous joins le fichier.
> Le lien esthttp://cjoint.com/?iknllFd3jh.
> Le but de la manoeuvre est de mettre sur chaque feuilles, les colonnes
en
> lignes et garder le titre de la colonne en clé de liaison.
> Voyez vous ce que je veux dire?
> Merci.
> Romain- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le
texte des messages précédents -
- Afficher le texte des messages précédents -
LSteph a écrit le 10/08/2010 à 15h13 :...un détail
Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim i As Long, LastC As Long, LastR As Long
Select Case Sh.Name
Case "UF", "POLE", "SERVICE"
Cancel = True
Application.ScreenUpdating = False
ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
With Sh
.[a:b].Copy [a1]
[c1] = "Période"
[d1] = "Montant"
LastC = .[iv1].End(xlToLeft).Column
LastR = .[a65536].End(xlUp).Row
For i = LastC To 3 Step -1
Range("c2", "c" & LastR) = .Cells(1, i)
.Range(.Cells(2, i), _
.Cells(LastR, i)).Copy [d2]
Range("a2", "d" & LastR).Copy
Range("a2", "d" & LastR).Insert _
Shift:=xlDown
Next
End With
Range("a2", "d" & LastR).EntireRow.Delete
Case Else
Exit Sub
End Select
Columns(4).AutoFit
ActiveSheet.Name = "Cross" & _
Left(Sh.Name, 15) & Format(Now, "yymmddhhnn")
Application.ScreenUpdating = True
End Sub
On 10 août, 15:09, LSteph wrote:Bonjour,
(Attention les noms de feuilles en dur dans le Select Case
correspondent à ton classeur exemple)
Tu fera un doubleclic dans la feuille à croiser pour utiliser,
après
avoir mis
dans le thisworkbook de ce classeur:
'''''''''
Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim i As Long, LastC As Long, LastR As Long
Select Case Sh.Name
Case "UF", "POLE", "SERVICE"
Cancel = True
Application.ScreenUpdating = False
ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
With Sh
.[a:b].Copy [a1]
[c1] = "Période"
[d1] = "Montant"
LastC = .[iv1].End(xlToLeft).Column
LastR = .[a65536].End(xlUp).Row
For i = LastC To 3 Step -1
Range("c2", "c" & LastR)
=
.Cells(1, i)
.Range(.Cells(2, i), _
.Cells(LastR, i)).Copy [d2]
Range("a2", "d" &
LastR).Copy
Range("a2", "d" &
LastR).Insert _
Shift:=xlDown
Next
End With
Range("a2", "d" & LastR).EntireRow.Delete
Case Else
Exit Sub
End Select
Columns(4).AutoFit
ActiveSheet.Name = "Cross" & _
Left(Sh.Name, 25) & Format(Now, "yymmddhhnn")
Application.ScreenUpdating = True
End Sub
''''''
'LSteph
On 10 août, 13:15, romanroman wrote:
> romanroman a écrit le 10/08/2010 à 11h10 :
> > Bonjour,
> > Je possède un tableau croisé dynamique issu d'une
première
> > base de données.
> > Les lignes constituent les libellées et les colonnes la
> > périodicité.
> >
mois1 année1
mois2année1 ......
> > champ1
.....
......
> > .......
> > champ2
.....
......
> > ......
> > Il y énormement de lignes et de colonnes. Je souhaiterai
mettre en place
> > une macro qui me fasse une seconde base de données. C'est
à dire
> > que le nom de chaque colonnes deviennent une clé qui
apparaissent
> > à toutes les lignes dans une nouvelle colonne.
> > Champ1 mois1année1 ............
> > Champ2 mois1année1.............
> > ..................................................
> > Champ1 mois2année1..............
> > Champ2 mois2année1..............
> > ..................................................
> > J'éspère que ma question est compréhensible.
> > Merci par avance.
> > Romain
> Tout d'abord merci, je vous joins le fichier.
> Le lien esthttp://cjoint.com/?iknllFd3jh.
> Le but de la manoeuvre est de mettre sur chaque feuilles, les colonnes
en
> lignes et garder le titre de la colonne en clé de liaison.
> Voyez vous ce que je veux dire?
> Merci.
> Romain- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le
texte des messages précédents -
- Afficher le texte des messages précédents -
Je vous remercie par contre je suis un gros naze et je comprend rien aux
instructions que vous m'avez donné.
Excusez-moi.
Pouvez vous me donner plus de détail?
Merci
Romain
LSteph a écrit le 10/08/2010 à 15h13 :
...un détail
Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim i As Long, LastC As Long, LastR As Long
Select Case Sh.Name
Case "UF", "POLE", "SERVICE"
Cancel = True
Application.ScreenUpdating = False
ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
With Sh
.[a:b].Copy [a1]
[c1] = "Période"
[d1] = "Montant"
LastC = .[iv1].End(xlToLeft).Column
LastR = .[a65536].End(xlUp).Row
For i = LastC To 3 Step -1
Range("c2", "c" & LastR) = .Cells(1, i)
.Range(.Cells(2, i), _
.Cells(LastR, i)).Copy [d2]
Range("a2", "d" & LastR).Copy
Range("a2", "d" & LastR).Insert _
Shift:=xlDown
Next
End With
Range("a2", "d" & LastR).EntireRow.Delete
Case Else
Exit Sub
End Select
Columns(4).AutoFit
ActiveSheet.Name = "Cross" & _
Left(Sh.Name, 15) & Format(Now, "yymmddhhnn")
Application.ScreenUpdating = True
End Sub
On 10 août, 15:09, LSteph wrote:
Bonjour,
(Attention les noms de feuilles en dur dans le Select Case
correspondent à ton classeur exemple)
Tu fera un doubleclic dans la feuille à croiser pour utiliser,
après
avoir mis
dans le thisworkbook de ce classeur:
'''''''''
Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim i As Long, LastC As Long, LastR As Long
Select Case Sh.Name
Case "UF", "POLE", "SERVICE"
Cancel = True
Application.ScreenUpdating = False
ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
With Sh
.[a:b].Copy [a1]
[c1] = "Période"
[d1] = "Montant"
LastC = .[iv1].End(xlToLeft).Column
LastR = .[a65536].End(xlUp).Row
For i = LastC To 3 Step -1
Range("c2", "c" & LastR)
=
.Cells(1, i)
.Range(.Cells(2, i), _
.Cells(LastR, i)).Copy [d2]
Range("a2", "d" &
LastR).Copy
Range("a2", "d" &
LastR).Insert _
Shift:=xlDown
Next
End With
Range("a2", "d" & LastR).EntireRow.Delete
Case Else
Exit Sub
End Select
Columns(4).AutoFit
ActiveSheet.Name = "Cross" & _
Left(Sh.Name, 25) & Format(Now, "yymmddhhnn")
Application.ScreenUpdating = True
End Sub
''''''
'LSteph
On 10 août, 13:15, romanroman wrote:
> romanroman a écrit le 10/08/2010 à 11h10 :
> > Bonjour,
> > Je possède un tableau croisé dynamique issu d'une
première
> > base de données.
> > Les lignes constituent les libellées et les colonnes la
> > périodicité.
> >
mois1 année1
mois2année1 ......
> > champ1
.....
......
> > .......
> > champ2
.....
......
> > ......
> > Il y énormement de lignes et de colonnes. Je souhaiterai
mettre en place
> > une macro qui me fasse une seconde base de données. C'est
à dire
> > que le nom de chaque colonnes deviennent une clé qui
apparaissent
> > à toutes les lignes dans une nouvelle colonne.
> > Champ1 mois1année1 ............
> > Champ2 mois1année1.............
> > ..................................................
> > Champ1 mois2année1..............
> > Champ2 mois2année1..............
> > ..................................................
> > J'éspère que ma question est compréhensible.
> > Merci par avance.
> > Romain
> Tout d'abord merci, je vous joins le fichier.
> Le lien esthttp://cjoint.com/?iknllFd3jh.
> Le but de la manoeuvre est de mettre sur chaque feuilles, les colonnes
en
> lignes et garder le titre de la colonne en clé de liaison.
> Voyez vous ce que je veux dire?
> Merci.
> Romain- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le
texte des messages précédents -
- Afficher le texte des messages précédents -
Je vous remercie par contre je suis un gros naze et je comprend rien aux
instructions que vous m'avez donné.
Excusez-moi.
Pouvez vous me donner plus de détail?
Merci
Romain
LSteph a écrit le 10/08/2010 à 15h13 :...un détail
Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim i As Long, LastC As Long, LastR As Long
Select Case Sh.Name
Case "UF", "POLE", "SERVICE"
Cancel = True
Application.ScreenUpdating = False
ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
With Sh
.[a:b].Copy [a1]
[c1] = "Période"
[d1] = "Montant"
LastC = .[iv1].End(xlToLeft).Column
LastR = .[a65536].End(xlUp).Row
For i = LastC To 3 Step -1
Range("c2", "c" & LastR) = .Cells(1, i)
.Range(.Cells(2, i), _
.Cells(LastR, i)).Copy [d2]
Range("a2", "d" & LastR).Copy
Range("a2", "d" & LastR).Insert _
Shift:=xlDown
Next
End With
Range("a2", "d" & LastR).EntireRow.Delete
Case Else
Exit Sub
End Select
Columns(4).AutoFit
ActiveSheet.Name = "Cross" & _
Left(Sh.Name, 15) & Format(Now, "yymmddhhnn")
Application.ScreenUpdating = True
End Sub
On 10 août, 15:09, LSteph wrote:Bonjour,
(Attention les noms de feuilles en dur dans le Select Case
correspondent à ton classeur exemple)
Tu fera un doubleclic dans la feuille à croiser pour utiliser,
après
avoir mis
dans le thisworkbook de ce classeur:
'''''''''
Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim i As Long, LastC As Long, LastR As Long
Select Case Sh.Name
Case "UF", "POLE", "SERVICE"
Cancel = True
Application.ScreenUpdating = False
ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
With Sh
.[a:b].Copy [a1]
[c1] = "Période"
[d1] = "Montant"
LastC = .[iv1].End(xlToLeft).Column
LastR = .[a65536].End(xlUp).Row
For i = LastC To 3 Step -1
Range("c2", "c" & LastR)
=
.Cells(1, i)
.Range(.Cells(2, i), _
.Cells(LastR, i)).Copy [d2]
Range("a2", "d" &
LastR).Copy
Range("a2", "d" &
LastR).Insert _
Shift:=xlDown
Next
End With
Range("a2", "d" & LastR).EntireRow.Delete
Case Else
Exit Sub
End Select
Columns(4).AutoFit
ActiveSheet.Name = "Cross" & _
Left(Sh.Name, 25) & Format(Now, "yymmddhhnn")
Application.ScreenUpdating = True
End Sub
''''''
'LSteph
On 10 août, 13:15, romanroman wrote:
> romanroman a écrit le 10/08/2010 à 11h10 :
> > Bonjour,
> > Je possède un tableau croisé dynamique issu d'une
première
> > base de données.
> > Les lignes constituent les libellées et les colonnes la
> > périodicité.
> >
mois1 année1
mois2année1 ......
> > champ1
.....
......
> > .......
> > champ2
.....
......
> > ......
> > Il y énormement de lignes et de colonnes. Je souhaiterai
mettre en place
> > une macro qui me fasse une seconde base de données. C'est
à dire
> > que le nom de chaque colonnes deviennent une clé qui
apparaissent
> > à toutes les lignes dans une nouvelle colonne.
> > Champ1 mois1année1 ............
> > Champ2 mois1année1.............
> > ..................................................
> > Champ1 mois2année1..............
> > Champ2 mois2année1..............
> > ..................................................
> > J'éspère que ma question est compréhensible.
> > Merci par avance.
> > Romain
> Tout d'abord merci, je vous joins le fichier.
> Le lien esthttp://cjoint.com/?iknllFd3jh.
> Le but de la manoeuvre est de mettre sur chaque feuilles, les colonnes
en
> lignes et garder le titre de la colonne en clé de liaison.
> Voyez vous ce que je veux dire?
> Merci.
> Romain- Masquer le texte des messages précédents -
> - Afficher le texte des messages précédents -- Masquer le
texte des messages précédents -
- Afficher le texte des messages précédents -
Je vous remercie par contre je suis un gros naze et je comprend rien aux
instructions que vous m'avez donné.
Excusez-moi.
Pouvez vous me donner plus de détail?
Merci
Romain
Excusez-moi.
Pouvez vous me donner plus de détail?
Merci
Romain- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Excusez-moi.
Pouvez vous me donner plus de détail?
Merci
Romain- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Excusez-moi.
Pouvez vous me donner plus de détail?
Merci
Romain- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
romanroman a écrit le 10/08/2010 à 16h06 :
> LSteph a écrit le 10/08/2010 à 15h13 :
>> ...un détail
>> Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
>> Sh As Object, ByVal Target As Range, Cancel As Boolean)
>> Dim i As Long, LastC As Long, LastR As Long
>> Select Case Sh.Name
>> Case "UF", "POLE", "SERVICE"
>> Cancel = True
>> Application.ScreenUpdating = False
>> ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
>> With Sh
>> .[a:b].Copy [a1]
>> [c1] = "Période"
>> [d1] = "Montant"
>> LastC = .[iv1].End(xlToLeft).Column
>> LastR = .[a65536].End(xlUp).Row
>> For i = LastC To 3 Step -1
>> Range("c2", "c" & LastR) = .Cells(1, i)
>> .Range(.Cells(2, i), _
>> .Cells(LastR, i)).Copy [d2]
>> Range("a2", "d" & LastR).Copy
>> Range("a2", "d" & LastR).Insert _
>> Shift:=xlDown
>> Next
>> End With
>> Range("a2", "d" & LastR).EntireRow.Delete
>> Case Else
>> Exit Sub
>> End Select
>> Columns(4).AutoFit
>> ActiveSheet.Name = "Cross" & _
>> Left(Sh.Name, 15) & Format(Now, "yymmddhhnn")
>> Application.ScreenUpdating = True
>> End Sub
>> On 10 août, 15:09, LSteph wrote:
>>> Bonjour,
>>> (Attention les noms de feuilles en dur dans le Select Case
>>> correspondent à ton classeur exemple)
>>> Tu fera un doubleclic dans la feuille à croiser pour utiliser,
>>> après
>>> avoir mis
>>> dans le thisworkbook de ce classeur:
>>> '''''''''
>>> Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
>>> Sh As Object, ByVal Target As Range, Cancel As Boolean)
>>> Dim i As Long, LastC As Long, LastR As Long
>>> Select Case Sh.Name
>>> Case "UF", "POLE", "SERVICE"
>>> Cancel = True
>>> Application.ScreenUpdating = False
>>> ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
>>> With Sh
>>> .[a:b].Copy [a1]
>>> [c1] = "Période"
>>> [d1] = "Montant"
>>> LastC = .[iv1].End(xlToLeft).Column
>>> LastR = .[a65536].End(xlUp).Row
>>> For i = LastC To 3 Step -1
>>> Range("c2", "c" & LastR)
>>> =
>>> .Cells(1, i)
>>> .Range(.Cells(2, i), _
>>> .Cells(LastR, i)).Copy [d2]
>>> Range("a2", "d" &
>>> LastR).Copy
>>> Range("a2", "d" &
>>> LastR).Insert _
>>> Shift:=xlDown
>>> Next
>>> End With
>>> Range("a2", "d" & LastR).EntireRow.Delete
>>> Case Else
>>> Exit Sub
>>> End Select
>>> Columns(4).AutoFit
>>> ActiveSheet.Name = "Cross" & _
>>> Left(Sh.Name, 25) & Format(Now, "yymmddhhnn")
>>> Application.ScreenUpdating = True
>>> End Sub
>>> ''''''
>>> 'LSteph
>>> On 10 août, 13:15, romanroman wrote:
>>> > romanroman a écrit le 10/08/2010 à 11h10 :
>>> > > Bonjour,
>>> > > Je possède un tableau croisé dynamique issu d'une
>>> première
>>> > > base de données.
>>> > > Les lignes constituent les libellées et les colonnes la
>>> > > périodicité.
>>> > >
>>> mois1 année1
>>> mois2année1 ......
>>> > > champ1
>>> .....
>>> ......
>>> > > .......
>>> > > champ2
>>> .....
>>> ......
>>> > > ......
>>> > > Il y énormement de lignes et de colonnes. Je souhaiterai
>>> mettre en place
>>> > > une macro qui me fasse une seconde base de données. C'est
>>> à dire
>>> > > que le nom de chaque colonnes deviennent une clé qui
>>> apparaissent
>>> > > à toutes les lignes dans une nouvelle colonne.
>>> > > Champ1 mois1année1 ............
>>> > > Champ2 mois1année1.............
>>> > > ..................................................
>>> > > Champ1 mois2année1..............
>>> > > Champ2 mois2année1..............
>>> > > ..................................................
>>> > > J'éspère que ma question est compréhensible.
>>> > > Merci par avance.
>>> > > Romain
>>> > Tout d'abord merci, je vous joins le fichier.
>>> > Le lien esthttp://cjoint.com/?iknllFd3jh.
>>> > Le but de la manoeuvre est de mettre sur chaque feuilles, les colon nes
>>> en
>>> > lignes et garder le titre de la colonne en clé de liaison.
>>> > Voyez vous ce que je veux dire?
>>> > Merci.
>>> > Romain- Masquer le texte des messages précédents -
>>> > - Afficher le texte des messages précédents -- Masquer le
>>> texte des messages précédents -
>>> - Afficher le texte des messages précédents -
> Je vous remercie par contre je suis un gros naze et je comprend rien au x
> instructions que vous m'avez donné.
> Excusez-moi.
> Pouvez vous me donner plus de détail?
> Merci
> Romain
En fait, j'ai déjà une macco qui fait le même type d'opération. J e vous l'ai
mis sur ce lien :http://cjoint.com/?ikqrkQmk37.
Celle-ci copie toutes les feuilles d'un nombre incalculable de fichiers d ans un
même fichier, les unes en dessous les autres et en mettant le nom du fi chier
d'origine dans une nouvelle colonne à gauche.
Le principe de cette nouvelle macro et de faire la même chose avec les
colonnes.
Merci.
Romain- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
romanroman a écrit le 10/08/2010 à 16h06 :
> LSteph a écrit le 10/08/2010 à 15h13 :
>> ...un détail
>> Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
>> Sh As Object, ByVal Target As Range, Cancel As Boolean)
>> Dim i As Long, LastC As Long, LastR As Long
>> Select Case Sh.Name
>> Case "UF", "POLE", "SERVICE"
>> Cancel = True
>> Application.ScreenUpdating = False
>> ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
>> With Sh
>> .[a:b].Copy [a1]
>> [c1] = "Période"
>> [d1] = "Montant"
>> LastC = .[iv1].End(xlToLeft).Column
>> LastR = .[a65536].End(xlUp).Row
>> For i = LastC To 3 Step -1
>> Range("c2", "c" & LastR) = .Cells(1, i)
>> .Range(.Cells(2, i), _
>> .Cells(LastR, i)).Copy [d2]
>> Range("a2", "d" & LastR).Copy
>> Range("a2", "d" & LastR).Insert _
>> Shift:=xlDown
>> Next
>> End With
>> Range("a2", "d" & LastR).EntireRow.Delete
>> Case Else
>> Exit Sub
>> End Select
>> Columns(4).AutoFit
>> ActiveSheet.Name = "Cross" & _
>> Left(Sh.Name, 15) & Format(Now, "yymmddhhnn")
>> Application.ScreenUpdating = True
>> End Sub
>> On 10 août, 15:09, LSteph wrote:
>>> Bonjour,
>>> (Attention les noms de feuilles en dur dans le Select Case
>>> correspondent à ton classeur exemple)
>>> Tu fera un doubleclic dans la feuille à croiser pour utiliser,
>>> après
>>> avoir mis
>>> dans le thisworkbook de ce classeur:
>>> '''''''''
>>> Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
>>> Sh As Object, ByVal Target As Range, Cancel As Boolean)
>>> Dim i As Long, LastC As Long, LastR As Long
>>> Select Case Sh.Name
>>> Case "UF", "POLE", "SERVICE"
>>> Cancel = True
>>> Application.ScreenUpdating = False
>>> ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
>>> With Sh
>>> .[a:b].Copy [a1]
>>> [c1] = "Période"
>>> [d1] = "Montant"
>>> LastC = .[iv1].End(xlToLeft).Column
>>> LastR = .[a65536].End(xlUp).Row
>>> For i = LastC To 3 Step -1
>>> Range("c2", "c" & LastR)
>>> =
>>> .Cells(1, i)
>>> .Range(.Cells(2, i), _
>>> .Cells(LastR, i)).Copy [d2]
>>> Range("a2", "d" &
>>> LastR).Copy
>>> Range("a2", "d" &
>>> LastR).Insert _
>>> Shift:=xlDown
>>> Next
>>> End With
>>> Range("a2", "d" & LastR).EntireRow.Delete
>>> Case Else
>>> Exit Sub
>>> End Select
>>> Columns(4).AutoFit
>>> ActiveSheet.Name = "Cross" & _
>>> Left(Sh.Name, 25) & Format(Now, "yymmddhhnn")
>>> Application.ScreenUpdating = True
>>> End Sub
>>> ''''''
>>> 'LSteph
>>> On 10 août, 13:15, romanroman wrote:
>>> > romanroman a écrit le 10/08/2010 à 11h10 :
>>> > > Bonjour,
>>> > > Je possède un tableau croisé dynamique issu d'une
>>> première
>>> > > base de données.
>>> > > Les lignes constituent les libellées et les colonnes la
>>> > > périodicité.
>>> > >
>>> mois1 année1
>>> mois2année1 ......
>>> > > champ1
>>> .....
>>> ......
>>> > > .......
>>> > > champ2
>>> .....
>>> ......
>>> > > ......
>>> > > Il y énormement de lignes et de colonnes. Je souhaiterai
>>> mettre en place
>>> > > une macro qui me fasse une seconde base de données. C'est
>>> à dire
>>> > > que le nom de chaque colonnes deviennent une clé qui
>>> apparaissent
>>> > > à toutes les lignes dans une nouvelle colonne.
>>> > > Champ1 mois1année1 ............
>>> > > Champ2 mois1année1.............
>>> > > ..................................................
>>> > > Champ1 mois2année1..............
>>> > > Champ2 mois2année1..............
>>> > > ..................................................
>>> > > J'éspère que ma question est compréhensible.
>>> > > Merci par avance.
>>> > > Romain
>>> > Tout d'abord merci, je vous joins le fichier.
>>> > Le lien esthttp://cjoint.com/?iknllFd3jh.
>>> > Le but de la manoeuvre est de mettre sur chaque feuilles, les colon nes
>>> en
>>> > lignes et garder le titre de la colonne en clé de liaison.
>>> > Voyez vous ce que je veux dire?
>>> > Merci.
>>> > Romain- Masquer le texte des messages précédents -
>>> > - Afficher le texte des messages précédents -- Masquer le
>>> texte des messages précédents -
>>> - Afficher le texte des messages précédents -
> Je vous remercie par contre je suis un gros naze et je comprend rien au x
> instructions que vous m'avez donné.
> Excusez-moi.
> Pouvez vous me donner plus de détail?
> Merci
> Romain
En fait, j'ai déjà une macco qui fait le même type d'opération. J e vous l'ai
mis sur ce lien :http://cjoint.com/?ikqrkQmk37.
Celle-ci copie toutes les feuilles d'un nombre incalculable de fichiers d ans un
même fichier, les unes en dessous les autres et en mettant le nom du fi chier
d'origine dans une nouvelle colonne à gauche.
Le principe de cette nouvelle macro et de faire la même chose avec les
colonnes.
Merci.
Romain- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
romanroman a écrit le 10/08/2010 à 16h06 :
> LSteph a écrit le 10/08/2010 à 15h13 :
>> ...un détail
>> Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
>> Sh As Object, ByVal Target As Range, Cancel As Boolean)
>> Dim i As Long, LastC As Long, LastR As Long
>> Select Case Sh.Name
>> Case "UF", "POLE", "SERVICE"
>> Cancel = True
>> Application.ScreenUpdating = False
>> ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
>> With Sh
>> .[a:b].Copy [a1]
>> [c1] = "Période"
>> [d1] = "Montant"
>> LastC = .[iv1].End(xlToLeft).Column
>> LastR = .[a65536].End(xlUp).Row
>> For i = LastC To 3 Step -1
>> Range("c2", "c" & LastR) = .Cells(1, i)
>> .Range(.Cells(2, i), _
>> .Cells(LastR, i)).Copy [d2]
>> Range("a2", "d" & LastR).Copy
>> Range("a2", "d" & LastR).Insert _
>> Shift:=xlDown
>> Next
>> End With
>> Range("a2", "d" & LastR).EntireRow.Delete
>> Case Else
>> Exit Sub
>> End Select
>> Columns(4).AutoFit
>> ActiveSheet.Name = "Cross" & _
>> Left(Sh.Name, 15) & Format(Now, "yymmddhhnn")
>> Application.ScreenUpdating = True
>> End Sub
>> On 10 août, 15:09, LSteph wrote:
>>> Bonjour,
>>> (Attention les noms de feuilles en dur dans le Select Case
>>> correspondent à ton classeur exemple)
>>> Tu fera un doubleclic dans la feuille à croiser pour utiliser,
>>> après
>>> avoir mis
>>> dans le thisworkbook de ce classeur:
>>> '''''''''
>>> Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
>>> Sh As Object, ByVal Target As Range, Cancel As Boolean)
>>> Dim i As Long, LastC As Long, LastR As Long
>>> Select Case Sh.Name
>>> Case "UF", "POLE", "SERVICE"
>>> Cancel = True
>>> Application.ScreenUpdating = False
>>> ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
>>> With Sh
>>> .[a:b].Copy [a1]
>>> [c1] = "Période"
>>> [d1] = "Montant"
>>> LastC = .[iv1].End(xlToLeft).Column
>>> LastR = .[a65536].End(xlUp).Row
>>> For i = LastC To 3 Step -1
>>> Range("c2", "c" & LastR)
>>> =
>>> .Cells(1, i)
>>> .Range(.Cells(2, i), _
>>> .Cells(LastR, i)).Copy [d2]
>>> Range("a2", "d" &
>>> LastR).Copy
>>> Range("a2", "d" &
>>> LastR).Insert _
>>> Shift:=xlDown
>>> Next
>>> End With
>>> Range("a2", "d" & LastR).EntireRow.Delete
>>> Case Else
>>> Exit Sub
>>> End Select
>>> Columns(4).AutoFit
>>> ActiveSheet.Name = "Cross" & _
>>> Left(Sh.Name, 25) & Format(Now, "yymmddhhnn")
>>> Application.ScreenUpdating = True
>>> End Sub
>>> ''''''
>>> 'LSteph
>>> On 10 août, 13:15, romanroman wrote:
>>> > romanroman a écrit le 10/08/2010 à 11h10 :
>>> > > Bonjour,
>>> > > Je possède un tableau croisé dynamique issu d'une
>>> première
>>> > > base de données.
>>> > > Les lignes constituent les libellées et les colonnes la
>>> > > périodicité.
>>> > >
>>> mois1 année1
>>> mois2année1 ......
>>> > > champ1
>>> .....
>>> ......
>>> > > .......
>>> > > champ2
>>> .....
>>> ......
>>> > > ......
>>> > > Il y énormement de lignes et de colonnes. Je souhaiterai
>>> mettre en place
>>> > > une macro qui me fasse une seconde base de données. C'est
>>> à dire
>>> > > que le nom de chaque colonnes deviennent une clé qui
>>> apparaissent
>>> > > à toutes les lignes dans une nouvelle colonne.
>>> > > Champ1 mois1année1 ............
>>> > > Champ2 mois1année1.............
>>> > > ..................................................
>>> > > Champ1 mois2année1..............
>>> > > Champ2 mois2année1..............
>>> > > ..................................................
>>> > > J'éspère que ma question est compréhensible.
>>> > > Merci par avance.
>>> > > Romain
>>> > Tout d'abord merci, je vous joins le fichier.
>>> > Le lien esthttp://cjoint.com/?iknllFd3jh.
>>> > Le but de la manoeuvre est de mettre sur chaque feuilles, les colon nes
>>> en
>>> > lignes et garder le titre de la colonne en clé de liaison.
>>> > Voyez vous ce que je veux dire?
>>> > Merci.
>>> > Romain- Masquer le texte des messages précédents -
>>> > - Afficher le texte des messages précédents -- Masquer le
>>> texte des messages précédents -
>>> - Afficher le texte des messages précédents -
> Je vous remercie par contre je suis un gros naze et je comprend rien au x
> instructions que vous m'avez donné.
> Excusez-moi.
> Pouvez vous me donner plus de détail?
> Merci
> Romain
En fait, j'ai déjà une macco qui fait le même type d'opération. J e vous l'ai
mis sur ce lien :http://cjoint.com/?ikqrkQmk37.
Celle-ci copie toutes les feuilles d'un nombre incalculable de fichiers d ans un
même fichier, les unes en dessous les autres et en mettant le nom du fi chier
d'origine dans une nouvelle colonne à gauche.
Le principe de cette nouvelle macro et de faire la même chose avec les
colonnes.
Merci.
Romain- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Si tu peux comprendre ce code là je ne vois pas pourquoi
tu m'a demandé plus de précision tu devrais lire le mien assez
facilement.
Nota dans ce code je vois ceci (je n'ai pas approfondi)
Dim nbl As Integer ' nombre de lignes
pour un nb de lignes mieux vaudrait as Long comme ici
Dim mxl As Long ' maximum lignes feuille
comme cela on peut exceder la moitié de la feuille.
;o)) A+
--
LSteph
On 10 août, 16:22, romanroman wrote:romanroman a écrit le 10/08/2010 à 16h06 :
> LSteph a écrit le 10/08/2010 à 15h13 :
>> ...un détail
>> Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
>> Sh As Object, ByVal Target As Range, Cancel As Boolean)
>> Dim i As Long, LastC As Long, LastR As Long
>> Select Case Sh.Name
>> Case "UF", "POLE", "SERVICE"
>> Cancel = True
>> Application.ScreenUpdating = False
>> ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
>> With Sh
>> .[a:b].Copy [a1]
>> [c1] = "Période"
>> [d1] = "Montant"
>> LastC = .[iv1].End(xlToLeft).Column
>> LastR = .[a65536].End(xlUp).Row
>> For i = LastC To 3 Step -1
>> Range("c2", "c" & LastR) = .Cells(1, i)
>> .Range(.Cells(2, i), _
>> .Cells(LastR, i)).Copy [d2]
>> Range("a2", "d" & LastR).Copy
>> Range("a2", "d" & LastR).Insert _
>> Shift:=xlDown
>> Next
>> End With
>> Range("a2", "d" & LastR).EntireRow.Delete
>> Case Else
>> Exit Sub
>> End Select
>> Columns(4).AutoFit
>> ActiveSheet.Name = "Cross" & _
>> Left(Sh.Name, 15) & Format(Now, "yymmddhhnn")
>> Application.ScreenUpdating = True
>> End Sub
>> On 10 août, 15:09, LSteph wrote:
>>> Bonjour,
>>> (Attention les noms de feuilles en dur dans le Select Case
>>> correspondent à ton classeur exemple)
>>> Tu fera un doubleclic dans la feuille à croiser pour
utiliser,
>>> après
>>> avoir mis
>>> dans le thisworkbook de ce classeur:
>>> '''''''''
>>> Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
>>> Sh As Object, ByVal Target As Range, Cancel As Boolean)
>>> Dim i As Long, LastC As Long, LastR As Long
>>> Select Case Sh.Name
>>> Case "UF", "POLE", "SERVICE"
>>> Cancel = True
>>> Application.ScreenUpdating = False
>>> ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
>>> With Sh
>>> .[a:b].Copy [a1]
>>> [c1] = "Période"
>>> [d1] = "Montant"
>>> LastC = .[iv1].End(xlToLeft).Column
>>> LastR = .[a65536].End(xlUp).Row
>>> For i = LastC To 3 Step -1
>>> Range("c2", "c"
& LastR)
>>> =
>>> .Cells(1, i)
>>> .Range(.Cells(2, i), _
>>> .Cells(LastR, i)).Copy [d2]
>>> Range("a2", "d"
&
>>> LastR).Copy
>>> Range("a2", "d"
&
>>> LastR).Insert _
>>> Shift:=xlDown
>>> Next
>>> End With
>>> Range("a2", "d" & LastR).EntireRow.Delete
>>> Case Else
>>> Exit Sub
>>> End Select
>>> Columns(4).AutoFit
>>> ActiveSheet.Name = "Cross" & _
>>> Left(Sh.Name, 25) & Format(Now, "yymmddhhnn")
>>> Application.ScreenUpdating = True
>>> End Sub
>>> ''''''
>>> 'LSteph
>>> On 10 août, 13:15, romanroman wrote:
>>> > romanroman a écrit le 10/08/2010 à 11h10 :
>>> > > Bonjour,
>>> > > Je possède un tableau croisé dynamique
issu d'une
>>> première
>>> > > base de données.
>>> > > Les lignes constituent les libellées et les
colonnes la
>>> > > périodicité.
>>> > >
>>> mois1
année1
>>> mois2année1 ......
>>> > > champ1
>>> .....
>>> ......
>>> > > .......
>>> > > champ2
>>> .....
>>> ......
>>> > > ......
>>> > > Il y énormement de lignes et de colonnes. Je
souhaiterai
>>> mettre en place
>>> > > une macro qui me fasse une seconde base de
données. C'est
>>> à dire
>>> > > que le nom de chaque colonnes deviennent une clé
qui
>>> apparaissent
>>> > > à toutes les lignes dans une nouvelle colonne.
>>> > > Champ1 mois1année1 ............
>>> > > Champ2 mois1année1.............
>>> > > ..................................................
>>> > > Champ1 mois2année1..............
>>> > > Champ2 mois2année1..............
>>> > > ..................................................
>>> > > J'éspère que ma question est
compréhensible.
>>> > > Merci par avance.
>>> > > Romain
>>> > Tout d'abord merci, je vous joins le fichier.
>>> > Le lien esthttp://cjoint.com/?iknllFd3jh.
>>> > Le but de la manoeuvre est de mettre sur chaque feuilles,
les colon nes
>>> en
>>> > lignes et garder le titre de la colonne en clé de
liaison.
>>> > Voyez vous ce que je veux dire?
>>> > Merci.
>>> > Romain- Masquer le texte des messages
précédents -
>>> > - Afficher le texte des messages précédents --
Masquer le
>>> texte des messages précédents -
>>> - Afficher le texte des messages précédents -
> Je vous remercie par contre je suis un gros naze et je comprend rien au x
> instructions que vous m'avez donné.
> Excusez-moi.
> Pouvez vous me donner plus de détail?
> Merci
> Romain
En fait, j'ai déjà une macco qui fait le même type
d'opération. J e vous l'ai
mis sur ce lien :http://cjoint.com/?ikqrkQmk37.
Celle-ci copie toutes les feuilles d'un nombre incalculable de fichiers d ans
un
même fichier, les unes en dessous les autres et en mettant le nom du fi
chier
d'origine dans une nouvelle colonne à gauche.
Le principe de cette nouvelle macro et de faire la même chose avec les
colonnes.
Merci.
Romain- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Si tu peux comprendre ce code là je ne vois pas pourquoi
tu m'a demandé plus de précision tu devrais lire le mien assez
facilement.
Nota dans ce code je vois ceci (je n'ai pas approfondi)
Dim nbl As Integer ' nombre de lignes
pour un nb de lignes mieux vaudrait as Long comme ici
Dim mxl As Long ' maximum lignes feuille
comme cela on peut exceder la moitié de la feuille.
;o)) A+
--
LSteph
On 10 août, 16:22, romanroman wrote:
romanroman a écrit le 10/08/2010 à 16h06 :
> LSteph a écrit le 10/08/2010 à 15h13 :
>> ...un détail
>> Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
>> Sh As Object, ByVal Target As Range, Cancel As Boolean)
>> Dim i As Long, LastC As Long, LastR As Long
>> Select Case Sh.Name
>> Case "UF", "POLE", "SERVICE"
>> Cancel = True
>> Application.ScreenUpdating = False
>> ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
>> With Sh
>> .[a:b].Copy [a1]
>> [c1] = "Période"
>> [d1] = "Montant"
>> LastC = .[iv1].End(xlToLeft).Column
>> LastR = .[a65536].End(xlUp).Row
>> For i = LastC To 3 Step -1
>> Range("c2", "c" & LastR) = .Cells(1, i)
>> .Range(.Cells(2, i), _
>> .Cells(LastR, i)).Copy [d2]
>> Range("a2", "d" & LastR).Copy
>> Range("a2", "d" & LastR).Insert _
>> Shift:=xlDown
>> Next
>> End With
>> Range("a2", "d" & LastR).EntireRow.Delete
>> Case Else
>> Exit Sub
>> End Select
>> Columns(4).AutoFit
>> ActiveSheet.Name = "Cross" & _
>> Left(Sh.Name, 15) & Format(Now, "yymmddhhnn")
>> Application.ScreenUpdating = True
>> End Sub
>> On 10 août, 15:09, LSteph wrote:
>>> Bonjour,
>>> (Attention les noms de feuilles en dur dans le Select Case
>>> correspondent à ton classeur exemple)
>>> Tu fera un doubleclic dans la feuille à croiser pour
utiliser,
>>> après
>>> avoir mis
>>> dans le thisworkbook de ce classeur:
>>> '''''''''
>>> Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
>>> Sh As Object, ByVal Target As Range, Cancel As Boolean)
>>> Dim i As Long, LastC As Long, LastR As Long
>>> Select Case Sh.Name
>>> Case "UF", "POLE", "SERVICE"
>>> Cancel = True
>>> Application.ScreenUpdating = False
>>> ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
>>> With Sh
>>> .[a:b].Copy [a1]
>>> [c1] = "Période"
>>> [d1] = "Montant"
>>> LastC = .[iv1].End(xlToLeft).Column
>>> LastR = .[a65536].End(xlUp).Row
>>> For i = LastC To 3 Step -1
>>> Range("c2", "c"
& LastR)
>>> =
>>> .Cells(1, i)
>>> .Range(.Cells(2, i), _
>>> .Cells(LastR, i)).Copy [d2]
>>> Range("a2", "d"
&
>>> LastR).Copy
>>> Range("a2", "d"
&
>>> LastR).Insert _
>>> Shift:=xlDown
>>> Next
>>> End With
>>> Range("a2", "d" & LastR).EntireRow.Delete
>>> Case Else
>>> Exit Sub
>>> End Select
>>> Columns(4).AutoFit
>>> ActiveSheet.Name = "Cross" & _
>>> Left(Sh.Name, 25) & Format(Now, "yymmddhhnn")
>>> Application.ScreenUpdating = True
>>> End Sub
>>> ''''''
>>> 'LSteph
>>> On 10 août, 13:15, romanroman wrote:
>>> > romanroman a écrit le 10/08/2010 à 11h10 :
>>> > > Bonjour,
>>> > > Je possède un tableau croisé dynamique
issu d'une
>>> première
>>> > > base de données.
>>> > > Les lignes constituent les libellées et les
colonnes la
>>> > > périodicité.
>>> > >
>>> mois1
année1
>>> mois2année1 ......
>>> > > champ1
>>> .....
>>> ......
>>> > > .......
>>> > > champ2
>>> .....
>>> ......
>>> > > ......
>>> > > Il y énormement de lignes et de colonnes. Je
souhaiterai
>>> mettre en place
>>> > > une macro qui me fasse une seconde base de
données. C'est
>>> à dire
>>> > > que le nom de chaque colonnes deviennent une clé
qui
>>> apparaissent
>>> > > à toutes les lignes dans une nouvelle colonne.
>>> > > Champ1 mois1année1 ............
>>> > > Champ2 mois1année1.............
>>> > > ..................................................
>>> > > Champ1 mois2année1..............
>>> > > Champ2 mois2année1..............
>>> > > ..................................................
>>> > > J'éspère que ma question est
compréhensible.
>>> > > Merci par avance.
>>> > > Romain
>>> > Tout d'abord merci, je vous joins le fichier.
>>> > Le lien esthttp://cjoint.com/?iknllFd3jh.
>>> > Le but de la manoeuvre est de mettre sur chaque feuilles,
les colon nes
>>> en
>>> > lignes et garder le titre de la colonne en clé de
liaison.
>>> > Voyez vous ce que je veux dire?
>>> > Merci.
>>> > Romain- Masquer le texte des messages
précédents -
>>> > - Afficher le texte des messages précédents --
Masquer le
>>> texte des messages précédents -
>>> - Afficher le texte des messages précédents -
> Je vous remercie par contre je suis un gros naze et je comprend rien au x
> instructions que vous m'avez donné.
> Excusez-moi.
> Pouvez vous me donner plus de détail?
> Merci
> Romain
En fait, j'ai déjà une macco qui fait le même type
d'opération. J e vous l'ai
mis sur ce lien :http://cjoint.com/?ikqrkQmk37.
Celle-ci copie toutes les feuilles d'un nombre incalculable de fichiers d ans
un
même fichier, les unes en dessous les autres et en mettant le nom du fi
chier
d'origine dans une nouvelle colonne à gauche.
Le principe de cette nouvelle macro et de faire la même chose avec les
colonnes.
Merci.
Romain- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Si tu peux comprendre ce code là je ne vois pas pourquoi
tu m'a demandé plus de précision tu devrais lire le mien assez
facilement.
Nota dans ce code je vois ceci (je n'ai pas approfondi)
Dim nbl As Integer ' nombre de lignes
pour un nb de lignes mieux vaudrait as Long comme ici
Dim mxl As Long ' maximum lignes feuille
comme cela on peut exceder la moitié de la feuille.
;o)) A+
--
LSteph
On 10 août, 16:22, romanroman wrote:romanroman a écrit le 10/08/2010 à 16h06 :
> LSteph a écrit le 10/08/2010 à 15h13 :
>> ...un détail
>> Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
>> Sh As Object, ByVal Target As Range, Cancel As Boolean)
>> Dim i As Long, LastC As Long, LastR As Long
>> Select Case Sh.Name
>> Case "UF", "POLE", "SERVICE"
>> Cancel = True
>> Application.ScreenUpdating = False
>> ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
>> With Sh
>> .[a:b].Copy [a1]
>> [c1] = "Période"
>> [d1] = "Montant"
>> LastC = .[iv1].End(xlToLeft).Column
>> LastR = .[a65536].End(xlUp).Row
>> For i = LastC To 3 Step -1
>> Range("c2", "c" & LastR) = .Cells(1, i)
>> .Range(.Cells(2, i), _
>> .Cells(LastR, i)).Copy [d2]
>> Range("a2", "d" & LastR).Copy
>> Range("a2", "d" & LastR).Insert _
>> Shift:=xlDown
>> Next
>> End With
>> Range("a2", "d" & LastR).EntireRow.Delete
>> Case Else
>> Exit Sub
>> End Select
>> Columns(4).AutoFit
>> ActiveSheet.Name = "Cross" & _
>> Left(Sh.Name, 15) & Format(Now, "yymmddhhnn")
>> Application.ScreenUpdating = True
>> End Sub
>> On 10 août, 15:09, LSteph wrote:
>>> Bonjour,
>>> (Attention les noms de feuilles en dur dans le Select Case
>>> correspondent à ton classeur exemple)
>>> Tu fera un doubleclic dans la feuille à croiser pour
utiliser,
>>> après
>>> avoir mis
>>> dans le thisworkbook de ce classeur:
>>> '''''''''
>>> Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
>>> Sh As Object, ByVal Target As Range, Cancel As Boolean)
>>> Dim i As Long, LastC As Long, LastR As Long
>>> Select Case Sh.Name
>>> Case "UF", "POLE", "SERVICE"
>>> Cancel = True
>>> Application.ScreenUpdating = False
>>> ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
>>> With Sh
>>> .[a:b].Copy [a1]
>>> [c1] = "Période"
>>> [d1] = "Montant"
>>> LastC = .[iv1].End(xlToLeft).Column
>>> LastR = .[a65536].End(xlUp).Row
>>> For i = LastC To 3 Step -1
>>> Range("c2", "c"
& LastR)
>>> =
>>> .Cells(1, i)
>>> .Range(.Cells(2, i), _
>>> .Cells(LastR, i)).Copy [d2]
>>> Range("a2", "d"
&
>>> LastR).Copy
>>> Range("a2", "d"
&
>>> LastR).Insert _
>>> Shift:=xlDown
>>> Next
>>> End With
>>> Range("a2", "d" & LastR).EntireRow.Delete
>>> Case Else
>>> Exit Sub
>>> End Select
>>> Columns(4).AutoFit
>>> ActiveSheet.Name = "Cross" & _
>>> Left(Sh.Name, 25) & Format(Now, "yymmddhhnn")
>>> Application.ScreenUpdating = True
>>> End Sub
>>> ''''''
>>> 'LSteph
>>> On 10 août, 13:15, romanroman wrote:
>>> > romanroman a écrit le 10/08/2010 à 11h10 :
>>> > > Bonjour,
>>> > > Je possède un tableau croisé dynamique
issu d'une
>>> première
>>> > > base de données.
>>> > > Les lignes constituent les libellées et les
colonnes la
>>> > > périodicité.
>>> > >
>>> mois1
année1
>>> mois2année1 ......
>>> > > champ1
>>> .....
>>> ......
>>> > > .......
>>> > > champ2
>>> .....
>>> ......
>>> > > ......
>>> > > Il y énormement de lignes et de colonnes. Je
souhaiterai
>>> mettre en place
>>> > > une macro qui me fasse une seconde base de
données. C'est
>>> à dire
>>> > > que le nom de chaque colonnes deviennent une clé
qui
>>> apparaissent
>>> > > à toutes les lignes dans une nouvelle colonne.
>>> > > Champ1 mois1année1 ............
>>> > > Champ2 mois1année1.............
>>> > > ..................................................
>>> > > Champ1 mois2année1..............
>>> > > Champ2 mois2année1..............
>>> > > ..................................................
>>> > > J'éspère que ma question est
compréhensible.
>>> > > Merci par avance.
>>> > > Romain
>>> > Tout d'abord merci, je vous joins le fichier.
>>> > Le lien esthttp://cjoint.com/?iknllFd3jh.
>>> > Le but de la manoeuvre est de mettre sur chaque feuilles,
les colon nes
>>> en
>>> > lignes et garder le titre de la colonne en clé de
liaison.
>>> > Voyez vous ce que je veux dire?
>>> > Merci.
>>> > Romain- Masquer le texte des messages
précédents -
>>> > - Afficher le texte des messages précédents --
Masquer le
>>> texte des messages précédents -
>>> - Afficher le texte des messages précédents -
> Je vous remercie par contre je suis un gros naze et je comprend rien au x
> instructions que vous m'avez donné.
> Excusez-moi.
> Pouvez vous me donner plus de détail?
> Merci
> Romain
En fait, j'ai déjà une macco qui fait le même type
d'opération. J e vous l'ai
mis sur ce lien :http://cjoint.com/?ikqrkQmk37.
Celle-ci copie toutes les feuilles d'un nombre incalculable de fichiers d ans
un
même fichier, les unes en dessous les autres et en mettant le nom du fi
chier
d'origine dans une nouvelle colonne à gauche.
Le principe de cette nouvelle macro et de faire la même chose avec les
colonnes.
Merci.
Romain- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Si tu peux comprendre ce code là je ne vois pas pourquoi
tu m'a demandé plus de précision tu devrais lire le mien assez
facilement.
Nota dans ce code je vois ceci (je n'ai pas approfondi)
Dim nbl As Integer ' nombre de lignes
pour un nb de lignes mieux vaudrait as Long comme ici
Dim mxl As Long ' maximum lignes feuille
comme cela on peut exceder la moitié de la feuille.
;o)) A+
--
LSteph
On 10 août, 16:22, romanroman wrote:romanroman a écrit le 10/08/2010 à 16h06 :
> LSteph a écrit le 10/08/2010 à 15h13 :
>> ...un détail
>> Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
>> Sh As Object, ByVal Target As Range, Cancel As Boolean)
>> Dim i As Long, LastC As Long, LastR As Long
>> Select Case Sh.Name
>> Case "UF", "POLE", "SERVICE"
>> Cancel = True
>> Application.ScreenUpdating = False
>> ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
>> With Sh
>> .[a:b].Copy [a1]
>> [c1] = "Période"
>> [d1] = "Montant"
>> LastC = .[iv1].End(xlToLeft).Column
>> LastR = .[a65536].End(xlUp).Row
>> For i = LastC To 3 Step -1
>> Range("c2", "c" & LastR) = .Cells(1, i)
>> .Range(.Cells(2, i), _
>> .Cells(LastR, i)).Copy [d2]
>> Range("a2", "d" & LastR).Copy
>> Range("a2", "d" & LastR).Insert _
>> Shift:=xlDown
>> Next
>> End With
>> Range("a2", "d" & LastR).EntireRow.Delete
>> Case Else
>> Exit Sub
>> End Select
>> Columns(4).AutoFit
>> ActiveSheet.Name = "Cross" & _
>> Left(Sh.Name, 15) & Format(Now, "yymmddhhnn")
>> Application.ScreenUpdating = True
>> End Sub
>> On 10 août, 15:09, LSteph wrote:
>>> Bonjour,
>>> (Attention les noms de feuilles en dur dans le Select Case
>>> correspondent à ton classeur exemple)
>>> Tu fera un doubleclic dans la feuille à croiser pour
utiliser,
>>> après
>>> avoir mis
>>> dans le thisworkbook de ce classeur:
>>> '''''''''
>>> Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
>>> Sh As Object, ByVal Target As Range, Cancel As Boolean)
>>> Dim i As Long, LastC As Long, LastR As Long
>>> Select Case Sh.Name
>>> Case "UF", "POLE", "SERVICE"
>>> Cancel = True
>>> Application.ScreenUpdating = False
>>> ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
>>> With Sh
>>> .[a:b].Copy [a1]
>>> [c1] = "Période"
>>> [d1] = "Montant"
>>> LastC = .[iv1].End(xlToLeft).Column
>>> LastR = .[a65536].End(xlUp).Row
>>> For i = LastC To 3 Step -1
>>> Range("c2", "c"
& LastR)
>>> =
>>> .Cells(1, i)
>>> .Range(.Cells(2, i), _
>>> .Cells(LastR, i)).Copy [d2]
>>> Range("a2", "d"
&
>>> LastR).Copy
>>> Range("a2", "d"
&
>>> LastR).Insert _
>>> Shift:=xlDown
>>> Next
>>> End With
>>> Range("a2", "d" & LastR).EntireRow.Delete
>>> Case Else
>>> Exit Sub
>>> End Select
>>> Columns(4).AutoFit
>>> ActiveSheet.Name = "Cross" & _
>>> Left(Sh.Name, 25) & Format(Now, "yymmddhhnn")
>>> Application.ScreenUpdating = True
>>> End Sub
>>> ''''''
>>> 'LSteph
>>> On 10 août, 13:15, romanroman wrote:
>>> > romanroman a écrit le 10/08/2010 à 11h10 :
>>> > > Bonjour,
>>> > > Je possède un tableau croisé dynamique
issu d'une
>>> première
>>> > > base de données.
>>> > > Les lignes constituent les libellées et les
colonnes la
>>> > > périodicité.
>>> > >
>>> mois1
année1
>>> mois2année1 ......
>>> > > champ1
>>> .....
>>> ......
>>> > > .......
>>> > > champ2
>>> .....
>>> ......
>>> > > ......
>>> > > Il y énormement de lignes et de colonnes. Je
souhaiterai
>>> mettre en place
>>> > > une macro qui me fasse une seconde base de
données. C'est
>>> à dire
>>> > > que le nom de chaque colonnes deviennent une clé
qui
>>> apparaissent
>>> > > à toutes les lignes dans une nouvelle colonne.
>>> > > Champ1 mois1année1 ............
>>> > > Champ2 mois1année1.............
>>> > > ..................................................
>>> > > Champ1 mois2année1..............
>>> > > Champ2 mois2année1..............
>>> > > ..................................................
>>> > > J'éspère que ma question est
compréhensible.
>>> > > Merci par avance.
>>> > > Romain
>>> > Tout d'abord merci, je vous joins le fichier.
>>> > Le lien esthttp://cjoint.com/?iknllFd3jh.
>>> > Le but de la manoeuvre est de mettre sur chaque feuilles,
les colon nes
>>> en
>>> > lignes et garder le titre de la colonne en clé de
liaison.
>>> > Voyez vous ce que je veux dire?
>>> > Merci.
>>> > Romain- Masquer le texte des messages
précédents -
>>> > - Afficher le texte des messages précédents --
Masquer le
>>> texte des messages précédents -
>>> - Afficher le texte des messages précédents -
> Je vous remercie par contre je suis un gros naze et je comprend rien au x
> instructions que vous m'avez donné.
> Excusez-moi.
> Pouvez vous me donner plus de détail?
> Merci
> Romain
En fait, j'ai déjà une macco qui fait le même type
d'opération. J e vous l'ai
mis sur ce lien :http://cjoint.com/?ikqrkQmk37.
Celle-ci copie toutes les feuilles d'un nombre incalculable de fichiers d ans
un
même fichier, les unes en dessous les autres et en mettant le nom du fi
chier
d'origine dans une nouvelle colonne à gauche.
Le principe de cette nouvelle macro et de faire la même chose avec les
colonnes.
Merci.
Romain- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Si tu peux comprendre ce code là je ne vois pas pourquoi
tu m'a demandé plus de précision tu devrais lire le mien assez
facilement.
Nota dans ce code je vois ceci (je n'ai pas approfondi)
Dim nbl As Integer ' nombre de lignes
pour un nb de lignes mieux vaudrait as Long comme ici
Dim mxl As Long ' maximum lignes feuille
comme cela on peut exceder la moitié de la feuille.
;o)) A+
--
LSteph
On 10 août, 16:22, romanroman wrote:
romanroman a écrit le 10/08/2010 à 16h06 :
> LSteph a écrit le 10/08/2010 à 15h13 :
>> ...un détail
>> Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
>> Sh As Object, ByVal Target As Range, Cancel As Boolean)
>> Dim i As Long, LastC As Long, LastR As Long
>> Select Case Sh.Name
>> Case "UF", "POLE", "SERVICE"
>> Cancel = True
>> Application.ScreenUpdating = False
>> ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
>> With Sh
>> .[a:b].Copy [a1]
>> [c1] = "Période"
>> [d1] = "Montant"
>> LastC = .[iv1].End(xlToLeft).Column
>> LastR = .[a65536].End(xlUp).Row
>> For i = LastC To 3 Step -1
>> Range("c2", "c" & LastR) = .Cells(1, i)
>> .Range(.Cells(2, i), _
>> .Cells(LastR, i)).Copy [d2]
>> Range("a2", "d" & LastR).Copy
>> Range("a2", "d" & LastR).Insert _
>> Shift:=xlDown
>> Next
>> End With
>> Range("a2", "d" & LastR).EntireRow.Delete
>> Case Else
>> Exit Sub
>> End Select
>> Columns(4).AutoFit
>> ActiveSheet.Name = "Cross" & _
>> Left(Sh.Name, 15) & Format(Now, "yymmddhhnn")
>> Application.ScreenUpdating = True
>> End Sub
>> On 10 août, 15:09, LSteph wrote:
>>> Bonjour,
>>> (Attention les noms de feuilles en dur dans le Select Case
>>> correspondent à ton classeur exemple)
>>> Tu fera un doubleclic dans la feuille à croiser pour
utiliser,
>>> après
>>> avoir mis
>>> dans le thisworkbook de ce classeur:
>>> '''''''''
>>> Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
>>> Sh As Object, ByVal Target As Range, Cancel As Boolean)
>>> Dim i As Long, LastC As Long, LastR As Long
>>> Select Case Sh.Name
>>> Case "UF", "POLE", "SERVICE"
>>> Cancel = True
>>> Application.ScreenUpdating = False
>>> ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
>>> With Sh
>>> .[a:b].Copy [a1]
>>> [c1] = "Période"
>>> [d1] = "Montant"
>>> LastC = .[iv1].End(xlToLeft).Column
>>> LastR = .[a65536].End(xlUp).Row
>>> For i = LastC To 3 Step -1
>>> Range("c2", "c"
& LastR)
>>> =
>>> .Cells(1, i)
>>> .Range(.Cells(2, i), _
>>> .Cells(LastR, i)).Copy [d2]
>>> Range("a2", "d"
&
>>> LastR).Copy
>>> Range("a2", "d"
&
>>> LastR).Insert _
>>> Shift:=xlDown
>>> Next
>>> End With
>>> Range("a2", "d" & LastR).EntireRow.Delete
>>> Case Else
>>> Exit Sub
>>> End Select
>>> Columns(4).AutoFit
>>> ActiveSheet.Name = "Cross" & _
>>> Left(Sh.Name, 25) & Format(Now, "yymmddhhnn")
>>> Application.ScreenUpdating = True
>>> End Sub
>>> ''''''
>>> 'LSteph
>>> On 10 août, 13:15, romanroman wrote:
>>> > romanroman a écrit le 10/08/2010 à 11h10 :
>>> > > Bonjour,
>>> > > Je possède un tableau croisé dynamique
issu d'une
>>> première
>>> > > base de données.
>>> > > Les lignes constituent les libellées et les
colonnes la
>>> > > périodicité.
>>> > >
>>> mois1
année1
>>> mois2année1 ......
>>> > > champ1
>>> .....
>>> ......
>>> > > .......
>>> > > champ2
>>> .....
>>> ......
>>> > > ......
>>> > > Il y énormement de lignes et de colonnes. Je
souhaiterai
>>> mettre en place
>>> > > une macro qui me fasse une seconde base de
données. C'est
>>> à dire
>>> > > que le nom de chaque colonnes deviennent une clé
qui
>>> apparaissent
>>> > > à toutes les lignes dans une nouvelle colonne.
>>> > > Champ1 mois1année1 ............
>>> > > Champ2 mois1année1.............
>>> > > ..................................................
>>> > > Champ1 mois2année1..............
>>> > > Champ2 mois2année1..............
>>> > > ..................................................
>>> > > J'éspère que ma question est
compréhensible.
>>> > > Merci par avance.
>>> > > Romain
>>> > Tout d'abord merci, je vous joins le fichier.
>>> > Le lien esthttp://cjoint.com/?iknllFd3jh.
>>> > Le but de la manoeuvre est de mettre sur chaque feuilles,
les colon nes
>>> en
>>> > lignes et garder le titre de la colonne en clé de
liaison.
>>> > Voyez vous ce que je veux dire?
>>> > Merci.
>>> > Romain- Masquer le texte des messages
précédents -
>>> > - Afficher le texte des messages précédents --
Masquer le
>>> texte des messages précédents -
>>> - Afficher le texte des messages précédents -
> Je vous remercie par contre je suis un gros naze et je comprend rien au x
> instructions que vous m'avez donné.
> Excusez-moi.
> Pouvez vous me donner plus de détail?
> Merci
> Romain
En fait, j'ai déjà une macco qui fait le même type
d'opération. J e vous l'ai
mis sur ce lien :http://cjoint.com/?ikqrkQmk37.
Celle-ci copie toutes les feuilles d'un nombre incalculable de fichiers d ans
un
même fichier, les unes en dessous les autres et en mettant le nom du fi
chier
d'origine dans une nouvelle colonne à gauche.
Le principe de cette nouvelle macro et de faire la même chose avec les
colonnes.
Merci.
Romain- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Si tu peux comprendre ce code là je ne vois pas pourquoi
tu m'a demandé plus de précision tu devrais lire le mien assez
facilement.
Nota dans ce code je vois ceci (je n'ai pas approfondi)
Dim nbl As Integer ' nombre de lignes
pour un nb de lignes mieux vaudrait as Long comme ici
Dim mxl As Long ' maximum lignes feuille
comme cela on peut exceder la moitié de la feuille.
;o)) A+
--
LSteph
On 10 août, 16:22, romanroman wrote:romanroman a écrit le 10/08/2010 à 16h06 :
> LSteph a écrit le 10/08/2010 à 15h13 :
>> ...un détail
>> Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
>> Sh As Object, ByVal Target As Range, Cancel As Boolean)
>> Dim i As Long, LastC As Long, LastR As Long
>> Select Case Sh.Name
>> Case "UF", "POLE", "SERVICE"
>> Cancel = True
>> Application.ScreenUpdating = False
>> ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
>> With Sh
>> .[a:b].Copy [a1]
>> [c1] = "Période"
>> [d1] = "Montant"
>> LastC = .[iv1].End(xlToLeft).Column
>> LastR = .[a65536].End(xlUp).Row
>> For i = LastC To 3 Step -1
>> Range("c2", "c" & LastR) = .Cells(1, i)
>> .Range(.Cells(2, i), _
>> .Cells(LastR, i)).Copy [d2]
>> Range("a2", "d" & LastR).Copy
>> Range("a2", "d" & LastR).Insert _
>> Shift:=xlDown
>> Next
>> End With
>> Range("a2", "d" & LastR).EntireRow.Delete
>> Case Else
>> Exit Sub
>> End Select
>> Columns(4).AutoFit
>> ActiveSheet.Name = "Cross" & _
>> Left(Sh.Name, 15) & Format(Now, "yymmddhhnn")
>> Application.ScreenUpdating = True
>> End Sub
>> On 10 août, 15:09, LSteph wrote:
>>> Bonjour,
>>> (Attention les noms de feuilles en dur dans le Select Case
>>> correspondent à ton classeur exemple)
>>> Tu fera un doubleclic dans la feuille à croiser pour
utiliser,
>>> après
>>> avoir mis
>>> dans le thisworkbook de ce classeur:
>>> '''''''''
>>> Private Sub Workbook_SheetBeforeDoubleClick(ByVal _
>>> Sh As Object, ByVal Target As Range, Cancel As Boolean)
>>> Dim i As Long, LastC As Long, LastR As Long
>>> Select Case Sh.Name
>>> Case "UF", "POLE", "SERVICE"
>>> Cancel = True
>>> Application.ScreenUpdating = False
>>> ThisWorkbook.Sheets.Add after:=Sheets(Sheets.Count)
>>> With Sh
>>> .[a:b].Copy [a1]
>>> [c1] = "Période"
>>> [d1] = "Montant"
>>> LastC = .[iv1].End(xlToLeft).Column
>>> LastR = .[a65536].End(xlUp).Row
>>> For i = LastC To 3 Step -1
>>> Range("c2", "c"
& LastR)
>>> =
>>> .Cells(1, i)
>>> .Range(.Cells(2, i), _
>>> .Cells(LastR, i)).Copy [d2]
>>> Range("a2", "d"
&
>>> LastR).Copy
>>> Range("a2", "d"
&
>>> LastR).Insert _
>>> Shift:=xlDown
>>> Next
>>> End With
>>> Range("a2", "d" & LastR).EntireRow.Delete
>>> Case Else
>>> Exit Sub
>>> End Select
>>> Columns(4).AutoFit
>>> ActiveSheet.Name = "Cross" & _
>>> Left(Sh.Name, 25) & Format(Now, "yymmddhhnn")
>>> Application.ScreenUpdating = True
>>> End Sub
>>> ''''''
>>> 'LSteph
>>> On 10 août, 13:15, romanroman wrote:
>>> > romanroman a écrit le 10/08/2010 à 11h10 :
>>> > > Bonjour,
>>> > > Je possède un tableau croisé dynamique
issu d'une
>>> première
>>> > > base de données.
>>> > > Les lignes constituent les libellées et les
colonnes la
>>> > > périodicité.
>>> > >
>>> mois1
année1
>>> mois2année1 ......
>>> > > champ1
>>> .....
>>> ......
>>> > > .......
>>> > > champ2
>>> .....
>>> ......
>>> > > ......
>>> > > Il y énormement de lignes et de colonnes. Je
souhaiterai
>>> mettre en place
>>> > > une macro qui me fasse une seconde base de
données. C'est
>>> à dire
>>> > > que le nom de chaque colonnes deviennent une clé
qui
>>> apparaissent
>>> > > à toutes les lignes dans une nouvelle colonne.
>>> > > Champ1 mois1année1 ............
>>> > > Champ2 mois1année1.............
>>> > > ..................................................
>>> > > Champ1 mois2année1..............
>>> > > Champ2 mois2année1..............
>>> > > ..................................................
>>> > > J'éspère que ma question est
compréhensible.
>>> > > Merci par avance.
>>> > > Romain
>>> > Tout d'abord merci, je vous joins le fichier.
>>> > Le lien esthttp://cjoint.com/?iknllFd3jh.
>>> > Le but de la manoeuvre est de mettre sur chaque feuilles,
les colon nes
>>> en
>>> > lignes et garder le titre de la colonne en clé de
liaison.
>>> > Voyez vous ce que je veux dire?
>>> > Merci.
>>> > Romain- Masquer le texte des messages
précédents -
>>> > - Afficher le texte des messages précédents --
Masquer le
>>> texte des messages précédents -
>>> - Afficher le texte des messages précédents -
> Je vous remercie par contre je suis un gros naze et je comprend rien au x
> instructions que vous m'avez donné.
> Excusez-moi.
> Pouvez vous me donner plus de détail?
> Merci
> Romain
En fait, j'ai déjà une macco qui fait le même type
d'opération. J e vous l'ai
mis sur ce lien :http://cjoint.com/?ikqrkQmk37.
Celle-ci copie toutes les feuilles d'un nombre incalculable de fichiers d ans
un
même fichier, les unes en dessous les autres et en mettant le nom du fi
chier
d'origine dans une nouvelle colonne à gauche.
Le principe de cette nouvelle macro et de faire la même chose avec les
colonnes.
Merci.
Romain- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -