OVH Cloud OVH Cloud

refedit

3 réponses
Avatar
Misange
Bonsoir (et bonjour aux canadiens enneigés)

dans une macro je voudrais ceci :
l'utilisateur sélectionne une plage de cellules de taille variable mais
continue.
et lance la macro qui lui demande ou il veut coller ce truc
l'utilisateur clique sur la cellule en haut à gauche de la plage de
destination souhaitée et hop ça se colle.
Mais avec ce qui suit, pb de range.


Selection.Copy
Set d = Application.InputBox("destination ?", "Choix", Type:=8)
Range(d).Select
ActiveSheet.Paste

Si j'indique une adresse en dur : range("D2").select, ca roule

pourquoi ? (et surtout comment faire en sorte que ça marche)
Est ce qu'il faut commencer par mesurer la taille de la plage de départ
et faire un resize pour redimensionner la plage de destination ?

merci :-)
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

3 réponses

Avatar
AV
Ave zoziau,

Sub zzzz()
x = Selection.Address
Dim plg As Range
On Error Resume Next 'bouton Annuler
Set plg = Application.InputBox _
("Choix", "destination ?", , , , , , 8)
If Err.Number <> 0 Then Exit Sub
Range(x).Copy (ActiveSheet.Range(plg.Address))
End Sub

AV
Avatar
michdenis
Bonjour Misange,

En voici une procédure ....tu peux l'utiliser pour copier les valeurs(seulement) des cellules sélectionnées dans n'importe
quelle feuille du classeur que tu indiqueras lors de la sélection avec l'aide de la boîte de saisie ....(RefEdit)

'-------------------
Sub AAA()

Dim Rg As Range, Dest As Range
With Selection
Set Rg = Selection
End With

On Error Resume Next 'bouton Annuler
Set Dest = Application.InputBox("Choix", _
"destination ?", , , , , , 8)
If Err = 0 Then
Rg.Copy
Dest.Areas(1).Cells(1, 1).PasteSpecial (xlValues)
Application.CutCopyMode = False
Else
Err = 0
End If
Set Rg = Nothing: Set Dest = Nothing
End Sub
'-------------------


Salutations!



"Misange" a écrit dans le message de news:
Bonsoir (et bonjour aux canadiens enneigés)

dans une macro je voudrais ceci :
l'utilisateur sélectionne une plage de cellules de taille variable mais
continue.
et lance la macro qui lui demande ou il veut coller ce truc
l'utilisateur clique sur la cellule en haut à gauche de la plage de
destination souhaitée et hop ça se colle.
Mais avec ce qui suit, pb de range.


Selection.Copy
Set d = Application.InputBox("destination ?", "Choix", Type:=8)
Range(d).Select
ActiveSheet.Paste

Si j'indique une adresse en dur : range("D2").select, ca roule

pourquoi ? (et surtout comment faire en sorte que ça marche)
Est ce qu'il faut commencer par mesurer la taille de la plage de départ
et faire un resize pour redimensionner la plage de destination ?

merci :-)
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Avatar
Misange
merci à tous les deux :-)
de aaa à zzz ca fait deux réponses complémentaires suivant l'usage.


Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta


Misange wrote:
Bonsoir (et bonjour aux canadiens enneigés)

dans une macro je voudrais ceci :
l'utilisateur sélectionne une plage de cellules de taille variable mais
continue.
et lance la macro qui lui demande ou il veut coller ce truc
l'utilisateur clique sur la cellule en haut à gauche de la plage de
destination souhaitée et hop ça se colle.
Mais avec ce qui suit, pb de range.


Selection.Copy
Set d = Application.InputBox("destination ?", "Choix", Type:=8)
Range(d).Select
ActiveSheet.Paste

Si j'indique une adresse en dur : range("D2").select, ca roule

pourquoi ? (et surtout comment faire en sorte que ça marche)
Est ce qu'il faut commencer par mesurer la taille de la plage de départ
et faire un resize pour redimensionner la plage de destination ?

merci :-)