icompatibilité de type

Le
Pascal
bonjour
comment passer la plage de cellule A1:j27 dans ma variable au format string
je m'explique si je déclare Dim X as string et que je fait x=
range("A1:J27")
j'ai une incompatibilité de type
merci d'avance

Pascal
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #6996711
Une variable de type String contient une chaîne de caractère
et non un tableau (array)

Pour passer directement une plage de cellules à une variable,
tu peux utiliser ceci :

Dim x ' sans aucun type et c'est probablement la meilleure approche
'car les différentes versions ne se comportent pas toutes de la même manère...

Dim X() OU Dim As Variant


Dim x
x = Range("A1:b10")

Et pour la lecture du tableau (array)
For A = 1 To UBound(x, 1)
For B = 1 To UBound(x, 2)
Msgbox x(A, B)
Next
Next





"Pascal" ,com> a écrit dans le message de news:

bonjour
comment passer la plage de cellule A1:j27 dans ma variable au format string
je m'explique si je déclare Dim X as string et que je fait x range("A1:J27")
j'ai une incompatibilité de type
merci d'avance

Pascal
Pascal
Le #6997281
merci m'sieur
Pascal

"MichDenis" %
Une variable de type String contient une chaîne de caractère
et non un tableau (array)

Pour passer directement une plage de cellules à une variable,
tu peux utiliser ceci :

Dim x ' sans aucun type et c'est probablement la meilleure approche
'car les différentes versions ne se comportent pas toutes de la même
manère...

Dim X() OU Dim As Variant


Dim x
x = Range("A1:b10")

Et pour la lecture du tableau (array)
For A = 1 To UBound(x, 1)
For B = 1 To UBound(x, 2)
Msgbox x(A, B)
Next
Next





"Pascal" ,com> a écrit dans le message de news:

bonjour
comment passer la plage de cellule A1:j27 dans ma variable au format
string
je m'explique si je déclare Dim X as string et que je fait x > range("A1:J27")
j'ai une incompatibilité de type
merci d'avance

Pascal





Merguez07
Le #6999601
Bonjour,
elle est bizarre ta question
Un string ne peut être égal à un range d'ou le message d'erreur
Que veux tu faire exactement ?

XavierP

"Pascal" ,com> a écrit dans le message de groupe de
discussion :
bonjour
comment passer la plage de cellule A1:j27 dans ma variable au format
string
je m'explique si je déclare Dim X as string et que je fait x=
range("A1:J27")
j'ai une incompatibilité de type
merci d'avance

Pascal





Pascal
Le #7000811
ah bon depuis quand un string ne peut être = a un range
et si tu fais ceci x=range("a1") ou X déclaré string là cà passe sans
soucis
et si tu concatène le tout x=x & range("a2") là aussi cà passe
c'est pour une plage que cela ne fonctionne pas
pas si bizarre que çà la question

Pascal




"Merguez07" 4852bfe9$0$26364$
Bonjour,
elle est bizarre ta question
Un string ne peut être égal à un range d'ou le message d'erreur
Que veux tu faire exactement ?

XavierP

"Pascal" ,com> a écrit dans le message de groupe de
discussion :
bonjour
comment passer la plage de cellule A1:j27 dans ma variable au format
string
je m'explique si je déclare Dim X as string et que je fait x=
range("A1:J27")
j'ai une incompatibilité de type
merci d'avance

Pascal







Misange
Le #7002641
bonjour
quand tu écris x=range("A1") c'est implicitement la même chose que
range("A1").value
mais quelle est la valeur d'un range("A1:C2")?

Ce que tu demandais c'était de passer un objet range (l'objet, pas sa
valeur telle que ta question était rédigée) dimensionnée comme une
chaîne de cractère. et là excel ne comprends pas ce qu'il doit faire.

Dans ton cas, comme Denis te l'a expliqué, ce qui est récupéré dans ta
variable c'est un tableau de valeurs et tu es donc obligé de déclarer et
d'initialiser ton tableau avant de pouvoir l'utiliser. Voilà du reste
une illustration d'une situation ou un message d'erreur d'excel oblige à
se poser la question sur le type et la dimension des variables
manipulées et à les déclarer explicitement.
Cet exemple donné par Chip Pearson illustre bien à quoi peut conduire
l'absence de déclaration des variables
http://www.excelabo.net/excel/macrosvariables.php#declarationdevariable

Il y a juste effectivement une petite difficulté pour les tableaux qui
est comme le dit Denis le fait que la façon de les déclarer a varié
suivant les versions. Pas super malin !
http://www.excelabo.net/excel/outilsarrays.php#variabletableau



Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

ah bon depuis quand un string ne peut être = a un range
et si tu fais ceci x=range("a1") ou X déclaré string là cà passe sans
soucis
et si tu concatène le tout x=x & range("a2") là aussi cà passe
c'est pour une plage que cela ne fonctionne pas
pas si bizarre que çà la question

Pascal




"Merguez07" 4852bfe9$0$26364$
Bonjour,
elle est bizarre ta question
Un string ne peut être égal à un range d'ou le message d'erreur
Que veux tu faire exactement ?

XavierP

"Pascal" ,com> a écrit dans le message de groupe de
discussion :
bonjour
comment passer la plage de cellule A1:j27 dans ma variable au format
string
je m'explique si je déclare Dim X as string et que je fait x=
range("A1:J27")
j'ai une incompatibilité de type
merci d'avance

Pascal











Tatanka
Le #7005681
Salut Pascal,

Et pourquoi pas quelque chose du genre :

Sub essai()
Dim x As Range
Set x = Range("A1:J27")
x.Value = "MPFE"
End Sub

Serge



"Pascal" ,com> a écrit dans le message de news:

bonjour
comment passer la plage de cellule A1:j27 dans ma variable au format
string
je m'explique si je déclare Dim X as string et que je fait x=
range("A1:J27")
j'ai une incompatibilité de type
merci d'avance

Pascal




Publicité
Poster une réponse
Anonyme