Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA - Erreur 1004 - définition du RANGE

VBeginner

XLDnaute Nouveau
Bonjour,

je suis actuellement bloqué avec une "simple" définition d'une variable range (en fait quelques cellules d'une colonne) que je souhaite par la suite utiliser pour le calcul d'une moyenne.
J'ai en fait 2 feuilles:
- l'une contient les valeurs brutes (feuille_origine)
- l'autre contiendra le résultat du calcul
Dans le code ci-dessous, j'ai testé avec une entrée "manuel" de la plage (A3:A20) et cela fonctionne. Par contre impossible de rentrer la plage en utilisant la propriété "Cells". Je pense faire une erreur avec l'utilisation de cette propriété mais ....?
Voici le code actuel :



Merci d'avance pour votre aide.
 

Pierrot93

XLDnaute Barbatruc
Re : VBA - Erreur 1004 - définition du RANGE

Bonjour,

il n'y a pas de colonne 0 :
Cells(20, 0)
0, doit être remplacé par un numéro de colonne valide de 1 à 256 sous excel 2003...

bon après midi
@+
 

tototiti2008

XLDnaute Barbatruc
Re : VBA - Erreur 1004 - définition du RANGE

Bonjour VBeginner,

Bienvenue sur XLD,

Cells attend un numéro de ligne et un numéro de colonne, les numérotations des lignes et colonnes commençant à 1
C'est pour ça qu'il n'aime pas tes 0 dans les numéros de colonnes...

Edit : Bing, Bonjour Pierrot
 

VBeginner

XLDnaute Nouveau
Re : VBA - Erreur 1004 - définition du RANGE

Comme quoi j'ai vraiment bien choisi mon pseudo !

Par contre, en remplaçant les 0 par des 1, j'ai toujours l'erreur.
Ce qui me surprend c'est que, quand j'utilise le pas à pas, l'évaluation de .Cells(3,1) par exemple me donne la valeur de la feuille de destination et non pas celle de la feuille d'origine.
 

Pierrot93

XLDnaute Barbatruc
Re : VBA - Erreur 1004 - définition du RANGE

Re, bonjour toto

Ce qui me surprend c'est que, quand j'utilise le pas à pas, l'évaluation de .Cells(3,1) par exemple me donne la valeur de la feuille de destination et non pas celle de la feuille d'origine.

tu es dans un bloc "with" représentant la feuille de destination à priori...
With mafeuille_destination.Range("A1")
 
C

Compte Supprimé 979

Guest
Re : VBA - Erreur 1004 - définition du RANGE

Salut VBeginner

Il ne faut pas oublier le "conteneur"
Code:
Set plage = mafeuille_origine.Range(mafeuille_origine.Cells(3, 1), mafeuille_origine.Cells(20, 1))

A+
 

tototiti2008

XLDnaute Barbatruc
Re : VBA - Erreur 1004 - définition du RANGE

Re,

Oui, normal, si tu commence une instruction par un point "." il considère que ça fait référence au With et ton With est associé à la feuille destination

essaye

Set plage = mafeuille_origine.Range(mafeuille_origine.Cells(3, 1), mafeuille_origine.Cells(20, 1))

Bing : Bonjour Bruno
 

Discussions similaires

Réponses
0
Affichages
205
Réponses
12
Affichages
649
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…