Dim et Range

cs_Dominike Messages postés 70 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 6 mars 2010 - 9 oct. 2007 à 19:42
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 10 oct. 2007 à 00:10
Bonjour à tous !
Je débute et sollicite donc votre indulgence.
Cette question concerne VBA excel.
Je souhaite intéger quelque chose comme ceci dans ma macro :
-----------------------------------------
Dim = x
x = Range ("A1")
   Range("B3:B6").Select
   Selection.Copy
   Range("D3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
-------------------------------------------
Sauf qu'au lieu de copier les données des cellules B3 à B6 dans D3,
je voudrais que ma variable remplace le 3 de D3, chiffre qui est dans A1

Je suppose que c'est enfantin, mais je bloque.
Merci à vous !

-Dominike -

11 réponses

jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 1
9 oct. 2007 à 19:47
Salut

Tu n'a qu'a essayer:  Cells(N°col , N°ligne)  au lieu de Range

@+
0
cs_Dominike Messages postés 70 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 6 mars 2010
9 oct. 2007 à 19:51
Merci pour cette rapide réponse,
mais quelle serait la formule exacte dans ce cas :
Cells(D,x). Select ?

-Dominike -
0
jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 1
9 oct. 2007 à 19:56
A verifier, mais ça doit marcher!

Bonne fouille!
0
cs_Dominike Messages postés 70 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 6 mars 2010
9 oct. 2007 à 20:00
Sympa de t'occuper de moi Jimy, mais au risque de t'embêter, ça ne fonctionne pas ! Aurais-tu une autre idée ?

-Dominike -
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Dominike Messages postés 70 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 6 mars 2010
9 oct. 2007 à 20:30
Y aurait-il qqu'un qui n'est pas en train de dîner SVP ?

-Dominike -
0
jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 1
9 oct. 2007 à 20:41
Bon, c'est te macher le travail, mais voilà.

Testé ok.

Sub Macro1()

Dim x
    x = Range("C7").Value
    Cells(x, 4).Select       ' Ici cells( ligne, colonne)...4 =D
   
End Sub

@+
0
cs_Dominike Messages postés 70 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 6 mars 2010
9 oct. 2007 à 21:04
Je crois bien comprendre que je suis nunuche, et pourtant je fais des efforts, mais ma macro coïnce ici en rouge :
-------------------------------------------------------------------------------
Sub macro1()
'
Dim x
x = Range("I2").Value ' --- Numéro du dossier à créer --//


' ------------------------------------------------//
    Sheets("Table").Select
    Range("B3:B32").Select
    Selection.Copy
    Range("D3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("B35:B54").Select
    Application.CutCopyMode = False
    Selection.Copy
    Cells(4, x).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub
-------------------------------------------------
Merci de voir où est le pb et merci pour le temps consacré à un débutant !

-Dominike -
0
cs_Dominike Messages postés 70 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 6 mars 2010
9 oct. 2007 à 21:09
Je crois que j'ai compris !
Merci encore pour ta patience.

-Dominike -
0
jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 1
9 oct. 2007 à 21:43
J'ai retesté la partie en bleu et ça marche bien, vois dans les limites d'excel, pour le code ça parait ok!

Sub macro1()
'
Dim x
x = Range("I2").Value ' --- Numéro du dossier à créer --// ' ------------------------------------------------//
    Sheets("Table").Select
    Range("B3:B32").Select
    Selection.Copy
    Range("D3").Select
    Selection.PasteSpecial Paste: =xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("B35:B54").Select
    Application.CutCopyMode = False
    Selection.Copy
    Cells(4, x).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub
-------------------------------------------------
0
jimy neutron Messages postés 491 Date d'inscription mercredi 1 février 2006 Statut Membre Dernière intervention 18 novembre 2016 1
9 oct. 2007 à 22:04
N'oublie pas le " Réponse acceptée"
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
10 oct. 2007 à 00:10
Si tu connais la colonne, donc la lettre, tu peux facilement utiliser Range("D" & x)
Si tu ne connais pas la colonne, il te faut alors passer par Cells(Ligne, Colonne)

   Dim x
   x = Range ("A1")
   Range("B3:B6").Copy
   Range("D" & x).PasteSpecial Paste:=xlPasteValues

MPi²
0
Rejoignez-nous