Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

références à des cells dans une range

J

JOjo

Guest
Bonjour,

Comment gérer une réferénce à une plege

Sheets("Feuil1").Range("Ai:A" & l).Copy
selon ce schéma ?

Sheets("Feuil1").Range(Cells(i, 1): Cells(L, 1)).Copy
ce dernière cas ne marche pas : quell est la syntaxe précise ?
MErci.
JOjo
 
M

Michel_M

Guest
salut Jojo, le forum

au lieu de:
Range(Cells(i, 1): Cells(L, 1))

écris une virgule au lieu de "2 points"

Range(Cells(i, 1), Cells(L, 1))

Si i et L sont des variables, il faut les mettre entre crochets et[L]

A+
Michel
 
P

Pascal76

Guest
Ouah

joli tir groupé en 1 minutes

Dis Michel pourquoi tu dis de mettre les variables entre crochets car personnellement je ne les mets pas.

Pascal

PS : Excuse pour le double message mauvaise manip
 
M

Michel_M

Guest
Salut tout le monde,

Le tir groupé continue! (voir autre fil sur les mots de passe macro)


Ben, quand je ne les mets pas, Tonton VBA bloque; pourquoi je sais plus ( je vais aller jeter un opeil dans l'aide); Ce qui est étonnant est que chez toi ca marche sans.

chez moi, ca marche sans si j'ai cells tout seul mais pas avec range(cells(etc.

Amicalement
Michel
 
J

JOjo

Guest
bonjour,


et merci pour ces réponses....

Mais ca ne marche pas chez moi.
je n'arrive pas à comprendre la diffirence entre les 2 instructions qui sembles construite sur les mêmes données.

Sub Interface()
Dim L As Integer, i As Integer
Application.ScreenUpdating = False
Sheets("Feuil2").Range("A2:BZ65536").ClearContents
L = Sheets("Feuil2").Range("A65536").End(xlUp).Row 'dernière ligne du tableau
i = 1
Sheets("Feuil2").Select
'cette première instruction passe... mais pas la suivante !
Sheets("Feuil1").Range("A" & i & ":A" & L).Copy
'cette seconde instruction en marche pas !
Sheets("Feuil1").Range(Cells(i, 1), Cells(L, 1)).Copy
End Sub

L'obejt de ce paramétrage est de recopier une sélection de d'une sheet dans une autre à des emplacements définis
exemple col 2 dans col 4 et col 3 dans col 2.
Merci de votre aide.
 
P

Pascal76

Guest
Re Michel,

Bon j'ai quand même vérifié (un petit doute ??) sur une macro où j'ai des variables dans cette configuration range(cells(.... et en effet ça marche sans crochets

Pascal
 
P

Pascal76

Guest
Salut

A première vue pour que ça marche il faut que ta feuille 1 soit sélectionnée

Donc si tu fais sheets("Feuil1").select avant tu peux faire avec
Sheets("Feuil1").Range(Cells(i, 1), Cells(L, 1)).Copy

Bon courage

Pascal
 
J

JOjo

Guest
Merci à tous

j'ai réussi mon progarmme en gardant la notation alpha pour les données à sélectionner.

voici le code

Sub interface()
Dim L As Integer, i As Integer, j As Integer, col_maxi As Integer, col_in As String, col_out As Integer



Application.ScreenUpdating = False
Sheets("F3").Range("A2:BZ65536").ClearContents

L = Sheets("F1").Range("A65536").End(xlUp).Row 'dernière ligne du tableau
col_maxi = Sheets("Fparam").Range("A65536").End(xlUp).Row '
' Fparam contient dans une première col les col sources en Alpha A, B , ...
' et en colo 2 les colo desitination en numérique


For j = 1 To col_maxi
' lecture paramètre
Sheets("Fparam").Select
col_in = Sheets("GOAL_interface").Cells(j, 1).Value
col_out = Sheets("GOAL_interface").Cells(j, 2).Value

Sheets("F1").Range(col_in & i & ":" & col_in & L).Copy
'nom de colonne col_in passé sous forme de numéro : ne marche pas même après avoir sélectionner le sheet
'Sheets("F1").Range(Cells(i, col_in), Cells(L, col_in)).Copy
Sheets("F3").Select
Sheets("F3").Cells(i, col_out).Select
ActiveSheet.Paste
Next j
i

Application.ScreenUpdating = True
End Sub
 
L

le CH'TI160

Guest
Salut "JOjo"
Bonjours le "FORUM"
ce code fonction
peut être une erreur dans l'appel des differentes feuilles

Sub Interface()
Dim L As Integer, i As Integer
Application.ScreenUpdating = False
Sheets("Feuil1").Range("A2:BZ65536").ClearContents
L = Sheets("Feuil2").Range("A65536").End(xlUp).Row 'dernière ligne du tableau
i = 1
Sheets("Feuil1").Select
'cette première instruction passe... mais pas la suivante !
Sheets("Feuil2").Range("A" & i & ":A" & L).Copy
Sheets("Feuil1").Select
'cette seconde instruction en marche pas !
Sheets("Feuil1").Range(Cells(i, 1), Cells(L, 1)).Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
A+++
Jean Marie
 
M

Michel_M

Guest
Re

Dans le doute, j'ai essayé aussi: effectivement ca marche sans crochets; mais plusieurs fois, j'ai dû les mettre , le pb est de savoir dans quels cas!

enfin, si ca m'évite de manipuler altGr c'est tout bonus pour moi.

Amicalement
Michel
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…