Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/09/2011, 19h02   #1
Invité régulier
 
Homme REMI
Étudiant
Inscription : juin 2011
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme REMI
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 34
Points : 7
Points : 7
Par défaut Objet requis erreur 424

Bonsoir,

Je tente de mettre en place une macro selon le code suivant

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
Sub cbm()
 
Dim j As Byte
 
With Sheets("CBM").Activate
 
    For j = 1 To 100
 
        Sheets("Scoring").Range("G11") = .Range("B" & 2 + j).Value
        Sheets("Scoring").Range("G13") = .Range("C" & 2 + j).Value
        Sheets("Scoring").Range("G15") = .Range("D" & 2 + j).Value
        .Range("E" & 2 + j) = Sheets("Scoring").Range("G33")
    Next j
End With
End Sub
Le but étant de prendre le cellule des colonnes BCD des lignes 2 à 102 de la feuille "CBM" pour les rentrer comme valeurs d'entrées dans trois cases de la feuille "scoring". Par suite un calcul est fait et j'aimerai prendre le résultat en range G33, pour le copier dans la colonne E de la feuille CBM.

L'erreur produits est = "objet requis" sur la ligne
Code :
1
2
 
Sheets("Scoring").Range("G11") = .Range("B" & 2 + j).Value
. J'ai pourtant mis les value^^
En vous remerciant,

remi
mantus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2011, 20h07   #2
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 894
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 894
Points : 7 178
Points : 7 178
Bonjour,

Quand on utilise With c'est pour éviter de répéter une partie préfixe

Dans ton cas, tu mets

Code :
With Sheets("CBM").Activate
L'instruction Activate ne permet pas d'être suivi de Range

Essais comme cela
A noter que ton code démarre la copie a partir de la ligne 3 (2 + j)
Pour boucler de la ligne 2 à 102 on écrirait plutôt comme suit

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
Sub cbm()
 
Dim j As Byte
 
With Sheets("CBM")
 
    For j = 2 To 102
 
        Sheets("Scoring").Range("G11") = .Range("B" & j).Value
        Sheets("Scoring").Range("G13") = .Range("C" & j).Value
        Sheets("Scoring").Range("G15") = .Range("D" & j).Value
        .Range("E" & j) = Sheets("Scoring").Range("G33")
    Next j
End With
End Sub
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2011, 22h19   #3
Invité régulier
 
Homme REMI
Étudiant
Inscription : juin 2011
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme REMI
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 34
Points : 7
Points : 7
Bonsoir,

Merci beaucoup, j'aimerai être aussi doué et minutieux.

Bonne continuation,

REMI

Bonjour,

Excusez-moi, mais je retrouve l'erreur 9 "l'indice n'appartient pas à la sélection dans:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
Sub cbm()
 
Dim j As Byte
 
With Sheets("CBM")
 
    For j = 2 To 102
 
        Sheets("Scoring").Range("G11") = .Range("B" & j).Value
        Sheets("Scoring").Range("G13") = .Range("C" & j).Value
        Sheets("Scoring").Range("G15") = .Range("D" & j).Value
        .Range("E" & j) = Sheets("Scoring").Range("G33")
 
    Next j
 
End With
End Sub
L'erreur est à la ligne =
Code :
1
2
 
Sheets("Scoring").Range("G11") = .Range("B" & j).Value

Quelle erreur? J'ai pourtant sélectionner la sheet appropriée...

merci!
mantus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 09h45   #4
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 894
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 894
Points : 7 178
Points : 7 178
Cette erreur apparrait si une des feuille n'est pas trouvée

Est ce que ces feuilles existent bien dans le classeur?
La macro est elle lancée sur le bon classeur?
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 09h53   #5
Invité régulier
 
Homme REMI
Étudiant
Inscription : juin 2011
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme REMI
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 34
Points : 7
Points : 7
Par défaut En effet

Il n'y a qu'un classeur d'ouvert, donc aucune erreur possible sur ce point.

Et les deux feuilles sont bien nommées et correctement ortographiées, ce sont les noms de deux onglets du workboook.
Une feuille protégée peut-elle gênée? Même si les cellules sélectionnées sont déverrouillées?

merci
mantus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 10h02   #6
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 894
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 894
Points : 7 178
Points : 7 178
Essais en déprotégeant l'onglet
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 10h17   #7
Invité régulier
 
Homme REMI
Étudiant
Inscription : juin 2011
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme REMI
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 34
Points : 7
Points : 7
Par défaut Déprotection

En déprotégeant cela ne change rien.

Par contre j'ai renommé une fois l'onglet "Scoring" en "Score" et ça fonctionne; je n'ai pas vraiment d'idées sur la cause.

Merci!
mantus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 10h24   #8
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 894
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 894
Points : 7 178
Points : 7 178
Une hypothèse

Nom onglet "scoring " (avec un espace à la fin) provoque une erreur 9
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 10h28   #9
Invité régulier
 
Homme REMI
Étudiant
Inscription : juin 2011
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme REMI
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2011
Messages : 34
Points : 7
Points : 7
Par défaut Erreur 9 indice n'appartient pas sélection espace nom feuille

Merci!

C'est sûrement la raison, VBA est parfois trop rigoureux à mon goût^^

A tantôt!

REMI
mantus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h34.


 
 
 
 
Partenaires

Hébergement Web