OVH Cloud OVH Cloud

Transposer une ligne au dessus à chaque click

14 réponses
Avatar
Virginie
Bonjour,
J'utilise cette macro que j'ai enregistr=E9e:

Sub Macro_Transpose()
'
' Macro_Transpose Macro
' Macro enregistr=E9e le 16/04/2004 par Virginie=20
'

Sheets("Feuil(2)").Select
Range("I3920:BL3920").Select
Selection.FormulaArray =3D "=3DTRANSPOSE('Feuil2 (2)'!
R12C32:R67C32)"
End Sub
elle selectionne la colonne AF12:AF67 feuil2(2) pour=20
Transposer le contenu en feuil(2) ligne,I =E0 BL3920.
cependant je souhaiterai que la selection AF12:AF67 se=20
recopie =E0 chaque click sur mon bouton une ligne au dessus
en feuil(2) c'est =E0 dire ligne I:BL 3919 ect...pourriez-
vous me dire quelle est l'instruction =E0 ajouter.

Merci pour votre aide pr=E9cieuse

Virginie=20
.

10 réponses

1 2
Avatar
michdenis
Bonjour Virginie,

Essaie ceci :

'------------------------
Sub Macro_Transpose()

Dim Dest As Range
With Worksheets("Feuil2")
Set dest = .Range("I" & .Range("i65536").End(xlUp)(2).Row)
Range("AF12:AF67").Copy
dest.PasteSpecial True, , , True
Set Dest = Nothing
End With
'------------------------


Salutations!



"Virginie" a écrit dans le message de
news:0e5d01c42603$1fc79f30$
Bonjour,
J'utilise cette macro que j'ai enregistrée:

Sub Macro_Transpose()
'
' Macro_Transpose Macro
' Macro enregistrée le 16/04/2004 par Virginie
'

Sheets("Feuil(2)").Select
Range("I3920:BL3920").Select
Selection.FormulaArray = "=TRANSPOSE('Feuil2 (2)'!
R12C32:R67C32)"
End Sub
elle selectionne la colonne AF12:AF67 feuil2(2) pour
Transposer le contenu en feuil(2) ligne,I à BL3920.
cependant je souhaiterai que la selection AF12:AF67 se
recopie à chaque click sur mon bouton une ligne au dessus
en feuil(2) c'est à dire ligne I:BL 3919 ect...pourriez-
vous me dire quelle est l'instruction à ajouter.

Merci pour votre aide précieuse

Virginie
.
Avatar
Virginie
Bonjour Mich
Après essai j'ai une erreur 1004 à cette ligne
Dest.PasteSpecial True, , , True
me disant la méthose paste Spécial de la classe range a
échoué

-----Message d'origine-----
Bonjour Virginie,

Essaie ceci :

'------------------------
Sub Macro_Transpose()

Dim Dest As Range
With Worksheets("Feuil2")
Set dest = .Range("I" & .Range("i65536").End(xlUp)
(2).Row)

Range("AF12:AF67").Copy
dest.PasteSpecial True, , , True
Set Dest = Nothing
End With
'------------------------


Salutations!



"Virginie" a écrit
dans le message de

news:0e5d01c42603$1fc79f30$
Bonjour,
J'utilise cette macro que j'ai enregistrée:

Sub Macro_Transpose()
'
' Macro_Transpose Macro
' Macro enregistrée le 16/04/2004 par Virginie
'

Sheets("Feuil(2)").Select
Range("I3920:BL3920").Select
Selection.FormulaArray = "=TRANSPOSE('Feuil2 (2)'!
R12C32:R67C32)"
End Sub
elle selectionne la colonne AF12:AF67 feuil2(2) pour
Transposer le contenu en feuil(2) ligne,I à BL3920.
cependant je souhaiterai que la selection AF12:AF67 se
recopie à chaque click sur mon bouton une ligne au dessus
en feuil(2) c'est à dire ligne I:BL 3919 ect...pourriez-
vous me dire quelle est l'instruction à ajouter.

Merci pour votre aide précieuse

Virginie
..


.



Avatar
michdenis
Bonjour Virginie,

2 façons de faire
Tu peux utiliser ceci : En prenant soin d'adapter le nom des feuilles de la procédure.

'--------------------------------
Sub Macro_Transpose3()

Dim Dest As Range
'Destination
With Worksheets("Feuil2")
Set Dest = .Range("I" & .Range("i65536").End(xlUp)(2).Row)
End With

'origine des données
With Worksheets("Feuil1")
.Range("AF12:AF67").Copy
End With
Dest.PasteSpecial , , , True
Set Dest = Nothing
End Sub
'--------------------------------


'---------------------------
Sub Macro_Transpose()

Dim Dest As Range, Tblo As Variant

'Plage d'où origine tes données
With Worksheets("Feuil1")
Tblo = .Range("AF12:AF67")
End With

'Détermine la plage de destination où seront copiées les données
With Worksheets("Feuil2")
Set Dest = .Range("I" & .Range("i65536").End(xlUp)(2).Row)
'copie des données
Dest.Resize(, UBound(Tblo, 1)) = Application.Transpose(Tblo)
End With

Set Dest = Nothing
End Sub
'---------------------------


Salutations!

"Virginie" a écrit dans le message de
news:0e4301c42612$9175a690$
Bonjour Mich
Après essai j'ai une erreur 1004 à cette ligne
Dest.PasteSpecial True, , , True
me disant la méthose paste Spécial de la classe range a
échoué

-----Message d'origine-----
Bonjour Virginie,

Essaie ceci :

'------------------------
Sub Macro_Transpose()

Dim Dest As Range
With Worksheets("Feuil2")
Set dest = .Range("I" & .Range("i65536").End(xlUp)
(2).Row)

Range("AF12:AF67").Copy
dest.PasteSpecial True, , , True
Set Dest = Nothing
End With
'------------------------


Salutations!



"Virginie" a écrit
dans le message de

news:0e5d01c42603$1fc79f30$
Bonjour,
J'utilise cette macro que j'ai enregistrée:

Sub Macro_Transpose()
'
' Macro_Transpose Macro
' Macro enregistrée le 16/04/2004 par Virginie
'

Sheets("Feuil(2)").Select
Range("I3920:BL3920").Select
Selection.FormulaArray = "=TRANSPOSE('Feuil2 (2)'!
R12C32:R67C32)"
End Sub
elle selectionne la colonne AF12:AF67 feuil2(2) pour
Transposer le contenu en feuil(2) ligne,I à BL3920.
cependant je souhaiterai que la selection AF12:AF67 se
recopie à chaque click sur mon bouton une ligne au dessus
en feuil(2) c'est à dire ligne I:BL 3919 ect...pourriez-
vous me dire quelle est l'instruction à ajouter.

Merci pour votre aide précieuse

Virginie
..


.



Avatar
michdenis
Tu devrais ajouter la ligne de code

Application.CutCopyMode = False

et la macro deviendrait ceci :

Sub Macro_Transpose3()

Dim Dest As Range
'Destination
With Worksheets("Feuil2")
Set Dest = .Range("I" & .Range("i65536").End(xlUp)(2).Row)
End With

'origine des données
With Worksheets("Feuil1")
.Range("AF12:AF67").Copy
End With
Dest.PasteSpecial , , , True
Application.CutCopyMode = False
Set Dest = Nothing
End Sub



Salutations!

"michdenis" a écrit dans le message de news:eXR%
Bonjour Virginie,

2 façons de faire
Tu peux utiliser ceci : En prenant soin d'adapter le nom des feuilles de la procédure.

'--------------------------------
Sub Macro_Transpose3()

Dim Dest As Range
'Destination
With Worksheets("Feuil2")
Set Dest = .Range("I" & .Range("i65536").End(xlUp)(2).Row)
End With

'origine des données
With Worksheets("Feuil1")
.Range("AF12:AF67").Copy
End With
Dest.PasteSpecial , , , True
Set Dest = Nothing
End Sub
'--------------------------------


'---------------------------
Sub Macro_Transpose()

Dim Dest As Range, Tblo As Variant

'Plage d'où origine tes données
With Worksheets("Feuil1")
Tblo = .Range("AF12:AF67")
End With

'Détermine la plage de destination où seront copiées les données
With Worksheets("Feuil2")
Set Dest = .Range("I" & .Range("i65536").End(xlUp)(2).Row)
'copie des données
Dest.Resize(, UBound(Tblo, 1)) = Application.Transpose(Tblo)
End With

Set Dest = Nothing
End Sub
'---------------------------


Salutations!

"Virginie" a écrit dans le message de
news:0e4301c42612$9175a690$
Bonjour Mich
Après essai j'ai une erreur 1004 à cette ligne
Dest.PasteSpecial True, , , True
me disant la méthose paste Spécial de la classe range a
échoué

-----Message d'origine-----
Bonjour Virginie,

Essaie ceci :

'------------------------
Sub Macro_Transpose()

Dim Dest As Range
With Worksheets("Feuil2")
Set dest = .Range("I" & .Range("i65536").End(xlUp)
(2).Row)

Range("AF12:AF67").Copy
dest.PasteSpecial True, , , True
Set Dest = Nothing
End With
'------------------------


Salutations!



"Virginie" a écrit
dans le message de

news:0e5d01c42603$1fc79f30$
Bonjour,
J'utilise cette macro que j'ai enregistrée:

Sub Macro_Transpose()
'
' Macro_Transpose Macro
' Macro enregistrée le 16/04/2004 par Virginie
'

Sheets("Feuil(2)").Select
Range("I3920:BL3920").Select
Selection.FormulaArray = "=TRANSPOSE('Feuil2 (2)'!
R12C32:R67C32)"
End Sub
elle selectionne la colonne AF12:AF67 feuil2(2) pour
Transposer le contenu en feuil(2) ligne,I à BL3920.
cependant je souhaiterai que la selection AF12:AF67 se
recopie à chaque click sur mon bouton une ligne au dessus
en feuil(2) c'est à dire ligne I:BL 3919 ect...pourriez-
vous me dire quelle est l'instruction à ajouter.

Merci pour votre aide précieuse

Virginie
..


.



Avatar
Mich ,
j'apprécie tes expliquations et tes deux procédures
fonctionne cependant la recopie se fait en descendant
j' aurais souhaité en remontant , comme précisé dans mon
1er post mais peut être est-ce impossible?
merci pour ta réponse

Virginie

-----Message d'origine-----
Bonjour Virginie,

2 façons de faire
Tu peux utiliser ceci : En prenant soin d'adapter le nom
des feuilles de la procédure.


'--------------------------------
Sub Macro_Transpose3()

Dim Dest As Range
'Destination
With Worksheets("Feuil2")
Set Dest = .Range("I" & .Range("i65536").End(xlUp)
(2).Row)

End With

'origine des données
With Worksheets("Feuil1")
.Range("AF12:AF67").Copy
End With
Dest.PasteSpecial , , , True
Set Dest = Nothing
End Sub
'--------------------------------


'---------------------------
Sub Macro_Transpose()

Dim Dest As Range, Tblo As Variant

'Plage d'où origine tes données
With Worksheets("Feuil1")
Tblo = .Range("AF12:AF67")
End With

'Détermine la plage de destination où seront copiées les
données

With Worksheets("Feuil2")
Set Dest = .Range("I" & .Range("i65536").End(xlUp)
(2).Row)

'copie des données
Dest.Resize(, UBound(Tblo, 1)) = Application.Transpose
(Tblo)

End With

Set Dest = Nothing
End Sub
'---------------------------


Salutations!

"Virginie" a écrit
dans le message de

news:0e4301c42612$9175a690$
Bonjour Mich
Après essai j'ai une erreur 1004 à cette ligne
Dest.PasteSpecial True, , , True
me disant la méthose paste Spécial de la classe range a
échoué

-----Message d'origine-----
Bonjour Virginie,

Essaie ceci :

'------------------------
Sub Macro_Transpose()

Dim Dest As Range
With Worksheets("Feuil2")
Set dest = .Range("I" & .Range("i65536").End(xlUp)
(2).Row)

Range("AF12:AF67").Copy
dest.PasteSpecial True, , , True
Set Dest = Nothing
End With
'------------------------


Salutations!



"Virginie" a écrit
dans le message de

news:0e5d01c42603$1fc79f30$
Bonjour,
J'utilise cette macro que j'ai enregistrée:

Sub Macro_Transpose()
'
' Macro_Transpose Macro
' Macro enregistrée le 16/04/2004 par Virginie
'

Sheets("Feuil(2)").Select
Range("I3920:BL3920").Select
Selection.FormulaArray = "=TRANSPOSE('Feuil2 (2)'!
R12C32:R67C32)"
End Sub
elle selectionne la colonne AF12:AF67 feuil2(2) pour
Transposer le contenu en feuil(2) ligne,I à BL3920.
cependant je souhaiterai que la selection AF12:AF67 se
recopie à chaque click sur mon bouton une ligne au dessus
en feuil(2) c'est à dire ligne I:BL 3919 ect...pourriez-
vous me dire quelle est l'instruction à ajouter.

Merci pour votre aide précieuse

Virginie
..


.




.




Avatar
sabatier
bonjour virginie
appelle-le plutôt denis : il aimera mieux notre québécois toujours
disponible pour ces dames...
jps

a écrit:
Mich ,
j'apprécie tes expliquations et tes deux procédures
fonctionne cependant la recopie se fait en descendant
j' aurais souhaité en remontant , comme précisé dans mon
1er post mais peut être est-ce impossible?
merci pour ta réponse

Virginie


-----Message d'origine-----
Bonjour Virginie,

2 façons de faire
Tu peux utiliser ceci : En prenant soin d'adapter le nom


des feuilles de la procédure.

'--------------------------------
Sub Macro_Transpose3()

Dim Dest As Range
'Destination
With Worksheets("Feuil2")
Set Dest = .Range("I" & .Range("i65536").End(xlUp)


(2).Row)

End With

'origine des données
With Worksheets("Feuil1")
.Range("AF12:AF67").Copy
End With
Dest.PasteSpecial , , , True
Set Dest = Nothing
End Sub
'--------------------------------


'---------------------------
Sub Macro_Transpose()

Dim Dest As Range, Tblo As Variant

'Plage d'où origine tes données
With Worksheets("Feuil1")
Tblo = .Range("AF12:AF67")
End With

'Détermine la plage de destination où seront copiées les


données

With Worksheets("Feuil2")
Set Dest = .Range("I" & .Range("i65536").End(xlUp)


(2).Row)

'copie des données
Dest.Resize(, UBound(Tblo, 1)) = Application.Transpose


(Tblo)

End With

Set Dest = Nothing
End Sub
'---------------------------


Salutations!

"Virginie" a écrit


dans le message de

news:0e4301c42612$9175a690$
Bonjour Mich
Après essai j'ai une erreur 1004 à cette ligne
Dest.PasteSpecial True, , , True
me disant la méthose paste Spécial de la classe range a
échoué


-----Message d'origine-----
Bonjour Virginie,

Essaie ceci :

'------------------------
Sub Macro_Transpose()

Dim Dest As Range
With Worksheets("Feuil2")
Set dest = .Range("I" & .Range("i65536").End(xlUp)


(2).Row)

Range("AF12:AF67").Copy
dest.PasteSpecial True, , , True
Set Dest = Nothing
End With
'------------------------


Salutations!



"Virginie" a écrit


dans le message de

news:0e5d01c42603$1fc79f30$
Bonjour,
J'utilise cette macro que j'ai enregistrée:

Sub Macro_Transpose()
'
' Macro_Transpose Macro
' Macro enregistrée le 16/04/2004 par Virginie
'

Sheets("Feuil(2)").Select
Range("I3920:BL3920").Select
Selection.FormulaArray = "=TRANSPOSE('Feuil2 (2)'!
R12C32:R67C32)"
End Sub
elle selectionne la colonne AF12:AF67 feuil2(2) pour
Transposer le contenu en feuil(2) ligne,I à BL3920.
cependant je souhaiterai que la selection AF12:AF67 se
recopie à chaque click sur mon bouton une ligne au dessus
en feuil(2) c'est à dire ligne I:BL 3919 ect...pourriez-
vous me dire quelle est l'instruction à ajouter.

Merci pour votre aide précieuse

Virginie
..


.




.







Avatar
michdenis
Bonjour ,

Une façon de faire ce que tu veux en supposant que j'ai bien compris la façon dont tes valeurs doivent être copiées

Tu dois adapter les noms des feuilles dans la procédure !

'----------------------------------------
Sub Macro_Transpose()

Dim Dest As Range, Tblo As Variant
Dim B As Integer, A As Integer

'Plage d'où origine tes données
With Worksheets("Feuil1")
Tblo = .Range("AF12:AF67")
End With

'Détermine la plage de destination
With Worksheets("Feuil2")
Set Dest = .Range("I" & .Range("i65536").End(xlUp)(2).Row)
End With

'copie les données
For A = UBound(Tblo, 1) To LBound(Tblo, 1) Step -1
B = B + 1
Dest(, B) = Tblo(A, 1)
Next
Set Dest = Nothing

End Sub
'----------------------------------------


Salutations!





a écrit dans le message de news:0ffa01c4261e$15d6f5a0$
Mich ,
j'apprécie tes expliquations et tes deux procédures
fonctionne cependant la recopie se fait en descendant
j' aurais souhaité en remontant , comme précisé dans mon
1er post mais peut être est-ce impossible?
merci pour ta réponse

Virginie

-----Message d'origine-----
Bonjour Virginie,

2 façons de faire
Tu peux utiliser ceci : En prenant soin d'adapter le nom
des feuilles de la procédure.


'--------------------------------
Sub Macro_Transpose3()

Dim Dest As Range
'Destination
With Worksheets("Feuil2")
Set Dest = .Range("I" & .Range("i65536").End(xlUp)
(2).Row)

End With

'origine des données
With Worksheets("Feuil1")
.Range("AF12:AF67").Copy
End With
Dest.PasteSpecial , , , True
Set Dest = Nothing
End Sub
'--------------------------------


'---------------------------
Sub Macro_Transpose()

Dim Dest As Range, Tblo As Variant

'Plage d'où origine tes données
With Worksheets("Feuil1")
Tblo = .Range("AF12:AF67")
End With

'Détermine la plage de destination où seront copiées les
données

With Worksheets("Feuil2")
Set Dest = .Range("I" & .Range("i65536").End(xlUp)
(2).Row)

'copie des données
Dest.Resize(, UBound(Tblo, 1)) = Application.Transpose
(Tblo)

End With

Set Dest = Nothing
End Sub
'---------------------------


Salutations!

"Virginie" a écrit
dans le message de

news:0e4301c42612$9175a690$
Bonjour Mich
Après essai j'ai une erreur 1004 à cette ligne
Dest.PasteSpecial True, , , True
me disant la méthose paste Spécial de la classe range a
échoué

-----Message d'origine-----
Bonjour Virginie,

Essaie ceci :

'------------------------
Sub Macro_Transpose()

Dim Dest As Range
With Worksheets("Feuil2")
Set dest = .Range("I" & .Range("i65536").End(xlUp)
(2).Row)

Range("AF12:AF67").Copy
dest.PasteSpecial True, , , True
Set Dest = Nothing
End With
'------------------------


Salutations!



"Virginie" a écrit
dans le message de

news:0e5d01c42603$1fc79f30$
Bonjour,
J'utilise cette macro que j'ai enregistrée:

Sub Macro_Transpose()
'
' Macro_Transpose Macro
' Macro enregistrée le 16/04/2004 par Virginie
'

Sheets("Feuil(2)").Select
Range("I3920:BL3920").Select
Selection.FormulaArray = "=TRANSPOSE('Feuil2 (2)'!
R12C32:R67C32)"
End Sub
elle selectionne la colonne AF12:AF67 feuil2(2) pour
Transposer le contenu en feuil(2) ligne,I à BL3920.
cependant je souhaiterai que la selection AF12:AF67 se
recopie à chaque click sur mon bouton une ligne au dessus
en feuil(2) c'est à dire ligne I:BL 3919 ect...pourriez-
vous me dire quelle est l'instruction à ajouter.

Merci pour votre aide précieuse

Virginie
..


.




.




Avatar
michdenis
Bonjour JPS,

"toujours disponible pour ces dames..."

La question est plutôt l'inverse...

Est-ce que ces dames sont toujours disponibles pour moi ? Non ???

;-)))


Salutations!



"sabatier" a écrit dans le message de news:
bonjour virginie
appelle-le plutôt denis : il aimera mieux notre québécois toujours
disponible pour ces dames...
jps

a écrit:
Mich ,
j'apprécie tes expliquations et tes deux procédures
fonctionne cependant la recopie se fait en descendant
j' aurais souhaité en remontant , comme précisé dans mon
1er post mais peut être est-ce impossible?
merci pour ta réponse

Virginie


-----Message d'origine-----
Bonjour Virginie,

2 façons de faire
Tu peux utiliser ceci : En prenant soin d'adapter le nom


des feuilles de la procédure.

'--------------------------------
Sub Macro_Transpose3()

Dim Dest As Range
'Destination
With Worksheets("Feuil2")
Set Dest = .Range("I" & .Range("i65536").End(xlUp)


(2).Row)

End With

'origine des données
With Worksheets("Feuil1")
.Range("AF12:AF67").Copy
End With
Dest.PasteSpecial , , , True
Set Dest = Nothing
End Sub
'--------------------------------


'---------------------------
Sub Macro_Transpose()

Dim Dest As Range, Tblo As Variant

'Plage d'où origine tes données
With Worksheets("Feuil1")
Tblo = .Range("AF12:AF67")
End With

'Détermine la plage de destination où seront copiées les


données

With Worksheets("Feuil2")
Set Dest = .Range("I" & .Range("i65536").End(xlUp)


(2).Row)

'copie des données
Dest.Resize(, UBound(Tblo, 1)) = Application.Transpose


(Tblo)

End With

Set Dest = Nothing
End Sub
'---------------------------


Salutations!

"Virginie" a écrit


dans le message de

news:0e4301c42612$9175a690$
Bonjour Mich
Après essai j'ai une erreur 1004 à cette ligne
Dest.PasteSpecial True, , , True
me disant la méthose paste Spécial de la classe range a
échoué


-----Message d'origine-----
Bonjour Virginie,

Essaie ceci :

'------------------------
Sub Macro_Transpose()

Dim Dest As Range
With Worksheets("Feuil2")
Set dest = .Range("I" & .Range("i65536").End(xlUp)


(2).Row)

Range("AF12:AF67").Copy
dest.PasteSpecial True, , , True
Set Dest = Nothing
End With
'------------------------


Salutations!



"Virginie" a écrit


dans le message de

news:0e5d01c42603$1fc79f30$
Bonjour,
J'utilise cette macro que j'ai enregistrée:

Sub Macro_Transpose()
'
' Macro_Transpose Macro
' Macro enregistrée le 16/04/2004 par Virginie
'

Sheets("Feuil(2)").Select
Range("I3920:BL3920").Select
Selection.FormulaArray = "=TRANSPOSE('Feuil2 (2)'!
R12C32:R67C32)"
End Sub
elle selectionne la colonne AF12:AF67 feuil2(2) pour
Transposer le contenu en feuil(2) ligne,I à BL3920.
cependant je souhaiterai que la selection AF12:AF67 se
recopie à chaque click sur mon bouton une ligne au dessus
en feuil(2) c'est à dire ligne I:BL 3919 ect...pourriez-
vous me dire quelle est l'instruction à ajouter.

Merci pour votre aide précieuse

Virginie
..


.




.







Avatar
sabatier
:-))))))))
tu nas qu'à venir à saulieu pour le vérifier, denis
jps

michdenis a écrit:
Bonjour JPS,

"toujours disponible pour ces dames..."

La question est plutôt l'inverse...

Est-ce que ces dames sont toujours disponibles pour moi ? Non ???

;-)))


Salutations!



"sabatier" a écrit dans le message de news:
bonjour virginie
appelle-le plutôt denis : il aimera mieux notre québécois toujours
disponible pour ces dames...
jps

a écrit:

Mich ,
j'apprécie tes expliquations et tes deux procédures
fonctionne cependant la recopie se fait en descendant
j' aurais souhaité en remontant , comme précisé dans mon
1er post mais peut être est-ce impossible?
merci pour ta réponse

Virginie



-----Message d'origine-----
Bonjour Virginie,

2 façons de faire
Tu peux utiliser ceci : En prenant soin d'adapter le nom


des feuilles de la procédure.


'--------------------------------
Sub Macro_Transpose3()

Dim Dest As Range
'Destination
With Worksheets("Feuil2")
Set Dest = .Range("I" & .Range("i65536").End(xlUp)


(2).Row)


End With

'origine des données
With Worksheets("Feuil1")
.Range("AF12:AF67").Copy
End With
Dest.PasteSpecial , , , True
Set Dest = Nothing
End Sub
'--------------------------------


'---------------------------
Sub Macro_Transpose()

Dim Dest As Range, Tblo As Variant

'Plage d'où origine tes données
With Worksheets("Feuil1")
Tblo = .Range("AF12:AF67")
End With

'Détermine la plage de destination où seront copiées les


données


With Worksheets("Feuil2")
Set Dest = .Range("I" & .Range("i65536").End(xlUp)


(2).Row)


'copie des données
Dest.Resize(, UBound(Tblo, 1)) = Application.Transpose


(Tblo)


End With

Set Dest = Nothing
End Sub
'---------------------------


Salutations!

"Virginie" a écrit


dans le message de


news:0e4301c42612$9175a690$
Bonjour Mich
Après essai j'ai une erreur 1004 à cette ligne
Dest.PasteSpecial True, , , True
me disant la méthose paste Spécial de la classe range a
échoué



-----Message d'origine-----
Bonjour Virginie,

Essaie ceci :

'------------------------
Sub Macro_Transpose()

Dim Dest As Range
With Worksheets("Feuil2")
Set dest = .Range("I" & .Range("i65536").End(xlUp)


(2).Row)


Range("AF12:AF67").Copy
dest.PasteSpecial True, , , True
Set Dest = Nothing
End With
'------------------------


Salutations!



"Virginie" a écrit


dans le message de


news:0e5d01c42603$1fc79f30$
Bonjour,
J'utilise cette macro que j'ai enregistrée:

Sub Macro_Transpose()
'
' Macro_Transpose Macro
' Macro enregistrée le 16/04/2004 par Virginie
'

Sheets("Feuil(2)").Select
Range("I3920:BL3920").Select
Selection.FormulaArray = "=TRANSPOSE('Feuil2 (2)'!
R12C32:R67C32)"
End Sub
elle selectionne la colonne AF12:AF67 feuil2(2) pour
Transposer le contenu en feuil(2) ligne,I à BL3920.
cependant je souhaiterai que la selection AF12:AF67 se
recopie à chaque click sur mon bouton une ligne au dessus
en feuil(2) c'est à dire ligne I:BL 3919 ect...pourriez-
vous me dire quelle est l'instruction à ajouter.

Merci pour votre aide précieuse

Virginie
..


.




.










Avatar
Virginie
Bonjour Denis, Jp,
Tout d'abord mille excuses d'avoir confondu ton Prénom et
nom Denis et un bonjour spéciale Canada avec lequel nous
avons des rapports très amicaux
Pour en revenir sur un point de vue Excelliens:
J'aurai aimé écrire c'est "Ok", mais ce n'est pas le cas.
Il y a toujours la recopie qui se fait dans
le sens descendant, de surcroit les valeurs se recopient à
l'envers j'ai pourtant de mon coté intervertis les A & B
les + & - rien n'y fait?
la seule solution serait pour avoir tout dans l'ordre de
retourner mon écran ,ce qui me montrerai les montagnes la
pointe en bas <<je serai arrivée plus vite aux sommets>>(
j'espère ne pas avoir déborder trop de la chartre) avec
mon commentaire.
Toutefois merci d'avoir essayé de résoudre mon problème
bonne journée à vous

Virginie






-----Message d'origine-----
Tu devrais ajouter la ligne de code

Application.CutCopyMode = False

et la macro deviendrait ceci :

Sub Macro_Transpose3()

Dim Dest As Range
'Destination
With Worksheets("Feuil2")
Set Dest = .Range("I" & .Range("i65536").End(xlUp)
(2).Row)

End With

'origine des données
With Worksheets("Feuil1")
.Range("AF12:AF67").Copy
End With
Dest.PasteSpecial , , , True
Application.CutCopyMode = False
Set Dest = Nothing
End Sub



Salutations!

"michdenis" a écrit dans le
message de news:eXR%

Bonjour Virginie,

2 façons de faire
Tu peux utiliser ceci : En prenant soin d'adapter le nom
des feuilles de la procédure.


'--------------------------------
Sub Macro_Transpose3()

Dim Dest As Range
'Destination
With Worksheets("Feuil2")
Set Dest = .Range("I" & .Range("i65536").End(xlUp)
(2).Row)

End With

'origine des données
With Worksheets("Feuil1")
.Range("AF12:AF67").Copy
End With
Dest.PasteSpecial , , , True
Set Dest = Nothing
End Sub
'--------------------------------


'---------------------------
Sub Macro_Transpose()

Dim Dest As Range, Tblo As Variant

'Plage d'où origine tes données
With Worksheets("Feuil1")
Tblo = .Range("AF12:AF67")
End With

'Détermine la plage de destination où seront copiées les
données

With Worksheets("Feuil2")
Set Dest = .Range("I" & .Range("i65536").End(xlUp)
(2).Row)

'copie des données
Dest.Resize(, UBound(Tblo, 1)) = Application.Transpose
(Tblo)

End With

Set Dest = Nothing
End Sub
'---------------------------


Salutations!

"Virginie" a écrit
dans le message de

news:0e4301c42612$9175a690$
Bonjour Mich
Après essai j'ai une erreur 1004 à cette ligne
Dest.PasteSpecial True, , , True
me disant la méthose paste Spécial de la classe range a
échoué

-----Message d'origine-----
Bonjour Virginie,

Essaie ceci :

'------------------------
Sub Macro_Transpose()

Dim Dest As Range
With Worksheets("Feuil2")
Set dest = .Range("I" & .Range("i65536").End(xlUp)
(2).Row)

Range("AF12:AF67").Copy
dest.PasteSpecial True, , , True
Set Dest = Nothing
End With
'------------------------


Salutations!



"Virginie" a écrit
dans le message de

news:0e5d01c42603$1fc79f30$
Bonjour,
J'utilise cette macro que j'ai enregistrée:

Sub Macro_Transpose()
'
' Macro_Transpose Macro
' Macro enregistrée le 16/04/2004 par Virginie
'

Sheets("Feuil(2)").Select
Range("I3920:BL3920").Select
Selection.FormulaArray = "=TRANSPOSE('Feuil2 (2)'!
R12C32:R67C32)"
End Sub
elle selectionne la colonne AF12:AF67 feuil2(2) pour
Transposer le contenu en feuil(2) ligne,I à BL3920.
cependant je souhaiterai que la selection AF12:AF67 se
recopie à chaque click sur mon bouton une ligne au dessus
en feuil(2) c'est à dire ligne I:BL 3919 ect...pourriez-
vous me dire quelle est l'instruction à ajouter.

Merci pour votre aide précieuse

Virginie
..


.





.




1 2