Probleme VBA sous excel

Fermé
thenewby - 4 avril 2008 à 21:59
 thenewby - 4 avril 2008 à 23:39
Bonjour,
je suis débutant en vba sous excel,
et je n'arrive pas a résoudre un problème tout bête je pense.
en fait je ne parviens pas a affecté les caracteristique d'une cellule a une variable :
par exemple prenons une cellule avec un fond rouge et le nombre 3 a l'intérieur,
j'aimerai que dans une variable soit stocké cette cellule,
qu'il y'ai donc dans la variable la couleur de fond de la cellule et son contenu,
par exemple si la variable est a et qu'elle contient les donné d'une cellule (couleur et contenu)
et bien j'aimerai faire cells(1,1) = a,
de façon a ce que la cellule en question récupère toutes les donnés de a.

j'espère que je suis clair, voici un exemple de ce que j'ai essayé de faire, pour tester :
la cellule (2,2) est rouge et contient 2, la cellule (1,1) est vide, avec la couleur par default :
Sub test()
Dim a As Range
Set a = Cells(2, 2)
Cells(1, 1) = a
End Sub
si je fait ça, la cellule (1,1) ne contient que la valeur de la cellule (2,2),
mais pas ça couleur, donc ça ne vas pas.
bon voila si quelqu'un peut m'aider.
merci.
A voir également:

1 réponse

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 716
4 avril 2008 à 22:42
bonjour

de façon a ce que la cellule en question récupère toutes les donnés de a.

Tu as décidé de la façon dont excel devrait fonctionner et dans ce cas là c'est toujours excel qui a raison.

Il vaut toujours mieux comprendre comment fonctionne excel pour l'utiliser.

En fait, chaque cellule a un certain nombre de propriétés : la valeur, la formule, la couleur, la police, la couleur de la police, sa taille, etc...
Si tu fait quelque chose comme ceci par exemple tu pourras te rendre compte du phénomène :
Sub test()
Dim a(3) As Variant
    a(1) = Cells(2, 2).Value
    a(2) = Cells(2, 2).Interior.ColorIndex
    a(3) = Cells(2, 2).Font.ColorIndex
Cells(1, 1).Value = a(1)
Cells(1, 1).Interior.ColorIndex = a(2)
Cells(1, 1).Font.ColorIndex = a(3)
End Sub
0
re,
en fait je sait que chaque cellule a un certain nombre de propriétés,
mais justement, mon problème serai de toute les prendre en une fois,
et non une par une, si c'est possible bien sur.
0