Excel Downloads
Forum

Précédent   Excel Downloads Forums > Archives > Forum Excel Downloads - Archives

Advertisement

 
 
LinkBack Outils de la discussion
Vieux 22/03/2004, 10h23   #1 (permalink)
Eric
Guest
 
Messages: n/a
Par défaut Range(ActiveCell.FormulaR1C1 = "+RC(1)").Select

Sheets("TABLEAU").Select
Range(ActiveCell.FormulaR1C1 = "+RC(1)").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False


Bonjour,

Qu'est ce qui ne va pas dans ma ligne Range ? Je veux une fois des données copiées sur une autre feuille, coller ces données 1 colonne plus loin dans ma feuille tableau.

Si je suis en A6, venir coller les données en b6
Si je suis en A10, venir coller les données en b11
...

Merci de votre aide
 
ANNONCES
Vieux 22/03/2004, 10h42   #2 (permalink)
Valérie
Guest
 
Messages: n/a
Par défaut Re: Range(ActiveCell.FormulaR1C1 = "+RC(1)").Select

Salut Eric et tout le forum,

Je me tente à la réponse mais là j'avoue que je ne suis pas sure de réellement te venir en aide puisque pas vraiment sure d'avoir compris la question : Bref
En résumé j'ai écrit une ligne qui te permet de récupérer la valeur de ta cellule dans la cellule juste en dessous (+1 ligne)

Sheets("TABLEAU").Select
ActiveCell.Offset(1, 0) = ActiveCell

'Offset décale (ligne, colonne)

Mais ce qui m'inquiète le plus c'est : Si je suis en A10, venir coller les données en b11 avec mon code tu attéris en B10 et non pas B11!!

@+ j'espère au moins avoir fait avancer le schmilblick

Valérie
 
Vieux 22/03/2004, 11h02   #3 (permalink)
Bernard
Guest
 
Messages: n/a
Par défaut Re: Range(ActiveCell.FormulaR1C1 = "+RC(1)").Select

Bonjour Eric

Range().select sélectionne la cellule définie entre les ()

ActiveCell.FormulaR1C1 = "=RC[1]" , cette ligne installe dans la cellule active une formule qui lui donne la valeur de la cellule immédiatement à sa droite.

Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False colle la valeur du presse papier dans la cellule active.

Donc si j'ai bien compris tu veux mettre la valeur immédiatement à droite de la cellule active dans la cellule active.

D'ou la ligne :

Sheets("TABLEAU").Select
ActiveCell.Value = ActiveCell.Offset(0, 1).Value

Cordialement

Bernard
 
Vieux 22/03/2004, 11h06   #4 (permalink)
Moa
Guest
 
Messages: n/a
Par défaut Re: Range(ActiveCell.FormulaR1C1 = "+RC(1)").Select

Salut !

Vite fait en passant.

Sub Bof()
Sheets("Tableau").Activate
ActiveCell.Offset(1, 1) = ActiveCell
End Sub

Tout simplement

@ +

Moa
 
Vieux 22/03/2004, 11h10   #5 (permalink)
Moa
Guest
 
Messages: n/a
Par défaut Re: Range(ActiveCell.FormulaR1C1 = "+RC(1)").Select

Oups !

On s'est croisé !!

Mais je crois avoir compris qu'il voulait un décalage de 1 ligne et une colonne.

Pas sur, car une fois il demande de A6 vers B6 et après de A10 vers B11...??

Je crois Bernard que tu as inversé ce qu'il voulait...!

@ +

Moa
 
Vieux 22/03/2004, 11h20   #6 (permalink)
Bernard
Guest
 
Messages: n/a
Par défaut Re: Range(ActiveCell.FormulaR1C1 = "+RC(1)").Select

Bonjour Moa

Ton interprétation est possible !!!!

Ha si les gens pensaient à exprimer simplement ce qu'ils souhaitent, quel gain de temps.

Salut

A+

Bernard
 
Vieux 22/03/2004, 11h27   #7 (permalink)
Eric
Guest
 
Messages: n/a
Par défaut Re: Range(ActiveCell.FormulaR1C1 = "+RC(1)").Select

Je me suis mal exprimé c'est B10 que je voulais dire.

En fait, je veux en étant positionné sur une celulle dans la colonne A, venir coller des données sur la colonne B et D. Pour l'instant, j'ai mis Range("b6").Select et pareil pour D6. Le problème c'est que cela ne marche que sur ma ligne 6.

Avec offset, cela ne marche pas. J'essaye de vous envoyer le fichier en txt.

Merci à tous.
Fichiers attachés
Type de fichier : zip macro.zip (476 octets, 11 affichages)
 
Vieux 22/03/2004, 12h46   #8 (permalink)
Eric
Guest
 
Messages: n/a
Par défaut Re: Range(ActiveCell.FormulaR1C1 = "+RC(1)").Select

La bonne réponse est

Selection.Offset(0, 1).Range("A1").Select

que j'ai trouvé dans l'aide de vb après vos conseils sur offset.

Merci à tous.
 
Vieux 22/03/2004, 15h10   #9 (permalink)
Bernard
Guest
 
Messages: n/a
Par défaut Re: Range(ActiveCell.FormulaR1C1 = "+RC(1)").Select

Rebonjour Eric

Je comprends que lorsque on débute en VBA, c'est un peu comme vouloir parler le chinois quand on n'est pas né en chine.

Tu as trouvé, c'est bien, tu aurais gagné du temps et nous aussi à prendre 5 minutes pour expliquer clairement ton problème. Bien expliquer ce que l'on veut, c'est une forme de politesse pour ceux qui vont te lire.

Si Selection.Offset(0, 1).Range("A1").Select est ta solution,

Range("A1").Offset(0, 1).select est plus exact

J'ai pris le temps de lire le fichier texte de la macro, lui aussi peut être simplifié comme suit, si j'ai bien compris tes souhaits biensûr !!!


Sub Détailsmeubles()
Sheets("DONNEES").Select
Range("D1:E1").Select

Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:=Range("TABLEAU!A6").Value
Selection.AutoFilter Field:=2, Criteria1:="Caisson"
Range("D2:E2781").Copy
Sheets("TABLEAU").Range("B6").PasteSpecial Paste:=xlValues
Application.CutCopyMode = False

Selection.AutoFilter Field:=2, Criteria1:="Tiroir"
Range("D2:E2781").Copy
Sheets("TABLEAU").Range("D6").PasteSpecial Paste:=xlValues
Application.CutCopyMode = False

Selection.AutoFilter Field:=2, Criteria1:="Contre marque"
Range("C2:E2781").Copy
Sheets("TABLEAU").Range("F6").PasteSpecial Paste:=xlValues
Application.CutCopyMode = False

Selection.AutoFilter Field:=2, Criteria1:="Accessoire"
Range("C2:E2781").Copy
Sheets("TABLEAU").Range("I6").PasteSpecial Paste:=xlValues
Application.CutCopyMode = False

ActiveSheet.ShowAllData
Sheets("TABLEAU").Select
End Sub

Bien cordialement

Bernard
 
Vieux 22/03/2004, 15h23   #10 (permalink)
Eric
Guest
 
Messages: n/a
Par défaut Re: Range(ActiveCell.FormulaR1C1 = "+RC(1)").Select

Merci Bernard. Tu as tout à fait raison pour les 5 minutes.

Maintenant, j'essaye de modifier la macro pour remplacer "Tableau!A6" par
la cellule active dans la feuille Tableau.

Selection.AutoFilter Field:=1, Criteria1:=Range("TABLEAU!A6").Value

Le but est de me positionner dans une celulle de la colonne A de la feuille tableau, et de recopier les informations de ma feuille "données" en fonction du critère de la cellule où je suis positionné.

J'espère que c'est à peu près clair.

Merci si tu peux quelque chose pour moi.
 
Vieux 22/03/2004, 18h12   #11 (permalink)
Bernard
Guest
 
Messages: n/a
Par défaut Re: Range(ActiveCell.FormulaR1C1 = "+RC(1)").Select

Rebonjour Eric

Désolé mais je ne vois pas de solution !

On ne peut travailler avec la cellule active que si la feuille de calcul qui la contient est la feuille active.

Cordialement

Bernard
 
Vieux 22/03/2004, 18h23   #12 (permalink)
Eric
Guest
 
Messages: n/a
Par défaut Re: Range(ActiveCell.FormulaR1C1 = "+RC(1)").Select

Et en donnant un nom à la cellule active avant de commencer les filtres pour pouvoir s'en servir comme critère, est ce que tu penses que cela peut marcher ?

Merci pour tes recherches.
 
ANNONCES
 

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui



Fuseau horaire GMT +2. Il est actuellement 04h46.


(C) 2006 Excel Downloads