Petit soucis avec Range... [Résolu]

Signaler
Messages postés
27
Date d'inscription
samedi 30 novembre 2013
Statut
Membre
Dernière intervention
10 décembre 2013
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour,
j'ai un petit soucis avec Range et je ne trouve pas de solution!
est-il possible, dans une macro, de faire "Range.......copy" avec des cellules différentes (ex:"G6"[texte], "H33"[nombre],"I34"[nombre],"J35"[nombre]) puis de les copier sur une feuille d'un autre classeur en utilisant un [exemple]: "Range("B12:E12").PasteSpecial Paste:=xlPasteValues" pour n'avoir que la valeur et non la formule de calcul?
Merci beaucoup de votre aide!!

5 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Bonjour,
pas vraiment clair.
Que veux-tu dire : copier ailleurs la seule valeur d'une plage de cellules discontinues ?
Et si oui : les copier (sur la destination) en continu ou non ?
donne un exemple "parlant"
Messages postés
27
Date d'inscription
samedi 30 novembre 2013
Statut
Membre
Dernière intervention
10 décembre 2013

Bonjour,
Ben voilà.
Dans un répertoire j'ai un ensemble de classeurs, tous avec la même structure, (Gab1.xlsx, Gab2.xlsx, etc...).
Le but du jeu est de récupérer la valeur (pas la formule de calcul) des cellules "G6"[Texte],"H33"[Nombre],"I34"[Nombre],"J35"[Nombre] des classeurs Gab pour les copier dans un classeur Synth.xlsm, sous forme de tableau en "B12:E12" et ainsi de suite pour tous les classeurs Gab.
Encore merci de ton aide.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Bon,
Il y a plus "fin" à faire, mais, pour si peu, je vais écrire un code "collant" mieux à ton niveau :
Dim plage As Range, desti As Range, i As Integer
Set desti = Workbooks("x").Worksheets("y").Range("B12")
Set plage = Range("G6, H33, J35")
For i = 1 To plage.Areas.Count
desti.Offset(0, i - 1).Value = plage.Areas(i).Value
Next
remplace x par le classeur de destination et y par la feuille de destination
Et mets ce code dans le module de code de la feuille source.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Messages postés
27
Date d'inscription
samedi 30 novembre 2013
Statut
Membre
Dernière intervention
10 décembre 2013

Bonsoir,
Super Merci!!!!
Cependant, je dois me déplacer de classeur Gab1 en classeur Gab2, etc..., sans en connaître le nombre, et inscrire les copies G6, I33, etc...dans le classeur Synth (tableau, "B12:E12"), ligne après ligne.
Dois-je utiliser une fonction du genre "UserRange.Rows.Count" ??
Désolé de t'embêter avec si peu, mais je suis vraiment perdu!
Encore merci de ton aide.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
235
Ta nouvelle question n'est plus celle posée par la présente discussion. Elle est autre.
Si la difficulté présentée ici (CETTE discussion) est résolue ===>> Un clic sur le tag RESOLU (au niveau de ton premier message) pour libérer CE sujet.
Si tu as une AUTRE difficulté ===>> ouvre une autre discussion (c'est ici une règle incontournable).

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend