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
.

4 réponses

1 2
Avatar
michdenis
Bonjour Virginie,

Indique quelle est ta plage d'origine ( où sont tes données)

Indique la plage où elles doivent être recopié

Et lors de la recopie, est-ce qu'il y a un ordre particulier ... si oui , il faudrait le décrire.

La donnée est à telle adresse et tu veux qu'elle soit copie à telle autre adresse...


Salutations!



"Virginie" a écrit dans le message de
news:140c01c42657$24494b90$
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
..


.





.




Avatar
Virginie
Bonjour Denis
en réponse a tes questions

Indique quelle est ta plage d'origine ( où sont tes
données)
" Mes données sont: de AF12 à AF 67 Feuil2(2) "

Indique la plage où elles doivent être recopiée
" La première ligne de recopie est: I 3920 à BL 3920 Feuil
(2) "

Et lors de la recopie, est-ce qu'il y a un ordre
particulier ... si oui , il faudrait le décrire.

" Il n'y a pas d'ordre particulier
AF 12 Feuil2(2) sera recopié en I 3920 Feuil(2)
c'est une sélection normale de haut en bas (AF12:AF67)
et une recopie de Gauche à Droite (I:BL 3920) "

*détail important la recopie à chaque click doit s'opérer
de bas en haut donc: Ligne I à BL 3920,3919,3918, ect...

dans l'espoire d'avoir été claire

Virginie

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

Indique quelle est ta plage d'origine ( où sont tes
données)


Indique la plage où elles doivent être recopié

Et lors de la recopie, est-ce qu'il y a un ordre
particulier ... si oui , il faudrait le décrire.


La donnée est à telle adresse et tu veux qu'elle soit
copie à telle autre adresse...



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,


Essaie ceci :

'------------------------------------
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("Feuil2(2)")
Tblo = .Range("AF12:AF67")
End With

'Détermine la plage de destination
With Worksheets("Feuil(2)")
If .Range("I3920") = "" Then
Set Dest = .Range("I3920")
Else
If .Range("I3919") = "" Then
Set Dest = .Range("I3919")
Else
Set Dest = .Range("I3920").End(xlUp).Offset(-1)
End If
End If
End With

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

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


Salutations!




"Virginie" a écrit dans le message de news:17d301c426b8$cc415c50$
Bonjour Denis
en réponse a tes questions

Indique quelle est ta plage d'origine ( où sont tes
données)
" Mes données sont: de AF12 à AF 67 Feuil2(2) "

Indique la plage où elles doivent être recopiée
" La première ligne de recopie est: I 3920 à BL 3920 Feuil
(2) "

Et lors de la recopie, est-ce qu'il y a un ordre
particulier ... si oui , il faudrait le décrire.

" Il n'y a pas d'ordre particulier
AF 12 Feuil2(2) sera recopié en I 3920 Feuil(2)
c'est une sélection normale de haut en bas (AF12:AF67)
et une recopie de Gauche à Droite (I:BL 3920) "

*détail important la recopie à chaque click doit s'opérer
de bas en haut donc: Ligne I à BL 3920,3919,3918, ect...

dans l'espoire d'avoir été claire

Virginie

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

Indique quelle est ta plage d'origine ( où sont tes
données)


Indique la plage où elles doivent être recopié

Et lors de la recopie, est-ce qu'il y a un ordre
particulier ... si oui , il faudrait le décrire.


La donnée est à telle adresse et tu veux qu'elle soit
copie à telle autre adresse...



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
Denis
Merci beaucoup,je te suis reconnaisante d'avoir passé du
temp pour résoudre mon problème.Le résultat de ta dernière
macro est bien celui escompté c'est "OK" :-)
Je te souhaite une bonne continuation dans ton beau Pays
blanc.
Amicalement Virginie
-----Message d'origine-----
Bonjour Virginie,


Essaie ceci :

'------------------------------------
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("Feuil2(2)")
Tblo = .Range("AF12:AF67")
End With

'Détermine la plage de destination
With Worksheets("Feuil(2)")
If .Range("I3920") = "" Then
Set Dest = .Range("I3920")
Else
If .Range("I3919") = "" Then
Set Dest = .Range("I3919")
Else
Set Dest = .Range("I3920").End(xlUp).Offset(-
1)

End If
End If
End With

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

Set Dest = Nothing

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


Salutations!




"Virginie" a écrit
dans le message de news:17d301c426b8$cc415c50

$
Bonjour Denis
en réponse a tes questions

Indique quelle est ta plage d'origine ( où sont tes
données)
" Mes données sont: de AF12 à AF 67 Feuil2(2) "

Indique la plage où elles doivent être recopiée
" La première ligne de recopie est: I 3920 à BL 3920
Feuil

(2) "

Et lors de la recopie, est-ce qu'il y a un ordre
particulier ... si oui , il faudrait le décrire.

" Il n'y a pas d'ordre particulier
AF 12 Feuil2(2) sera recopié en I 3920 Feuil(2)
c'est une sélection normale de haut en bas (AF12:AF67)
et une recopie de Gauche à Droite (I:BL 3920) "

*détail important la recopie à chaque click doit s'opérer
de bas en haut donc: Ligne I à BL 3920,3919,3918, ect...

dans l'espoire d'avoir été claire

Virginie

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

Indique quelle est ta plage d'origine ( où sont tes
données)


Indique la plage où elles doivent être recopié

Et lors de la recopie, est-ce qu'il y a un ordre
particulier ... si oui , il faudrait le décrire.


La donnée est à telle adresse et tu veux qu'elle soit
copie à telle autre adresse...



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