Copier uniquement une valeur

Résolu/Fermé
marc - 7 mars 2014 à 14:43
 marc - 11 mars 2014 à 16:35
Bonjour,

J'utilise la méthode:

cell.Offset(0, 9).Copy Range("Arrivée4").Cells.SpecialCells(xlCellTypeBlanks).Range("A1")

pour créer un résumé des options choisies.
Mon poblème est que certaines cellules ne contienne pas directement du text mais un renvoie vers une autre cellule.

Donc

Puis-je ajouter un .value quelque part ou autre afin que cette ligne de code saisisse uniquement le contenu de la cellule.

Merci

A voir également:

3 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
8 mars 2014 à 10:52
Bonjour,

copier le contenu et pas la formule:

Range("Arrivée4").Cells.SpecialCells(xlCellTypeBlanks).Range("A1") = Range("A1").Value
0
Re-bonjour,


Dim cell As Range, plage As Range
Set plage = Range("Choix")
For Each cell In plage
If cell.Value = 1 Then
cell.Offset(0, 3).Copy Range("Arrivée").Cells.SpecialCells(xlCellTypeBlanks).Range("A1")
cell.Offset(0, 4).Copy Range("Arrivée2").Cells.SpecialCells(xlCellTypeBlanks).Range("A1")
cell.Offset(0, 5).Copy Range("Arrivée3").Cells.SpecialCells(xlCellTypeBlanks).Range("A1")
cell.Offset(0, 9).Copy Range("Arrivée4").Cells.SpecialCells(xlCellTypeBlanks).Range("A1") = Range("A1").Value
End If
Next


J'ai l'erreur la méthode copy de la classe range à échoué,
si je vais sur value il me marque value = vide
Mais le décalage est correct la cellule n'est pas vide
Est, ce que le problème pourrait être du à d'autre cellule vide dans la 9ème colonne?

Merci
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
11 mars 2014 à 07:00
Bonjour,

Cela peut venir du fait que votre plage nommee soit totalement remplie
0
Bonjour,

Je vous mets un fichier histoire d'avoir du concret.
http://cjoint.com/?3ClikVJI7tg

En mettant un 1 pour les options choisies dans la zone bleu.
Le collage fonctionne très bien mais colle un lien en fonction de la cellule d'arrivée et non la valeur
Les 2 plages ont suffisament d'espace
Mais en ajoutant ***= range("a1").value**** une erreur apparaît

Si ça vous aide.

Merci dans tout les cas
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié par f894009 le 11/03/2014 à 08:32
Bonjour,

C'est ce que je vous ai ecrit Lien (#1). De plus 29 options et 27 cases en resume ??????

Sub Résumé()
Dim cell As Range, plage As Range

Set plage = Range("Choix")
For Each cell In plage
If cell.Value = 1 Then
'copie la formule
'cell.Offset(0, 1).Copy Range("Arrivée").Cells.SpecialCells(xlCellTypeBlanks).Range("A1")
'copie la valeur
Range("Arrivée").Cells.SpecialCells(xlCellTypeBlanks).Range("A1") = cell.Offset(0, 1)
End If
Next
Sheets("Résumé").Select
End Sub
0
ça fonctionne bien. merci
0