Erreur d'exécution '9

Bonjour à tous,

J'apprend, J'apprend...

la leçon:

https://www.youtube.com/watch?v=Ht1Oc9hghc0

Mon code:

[quote][/Sub rangecopy()

' Copie d'une cellule vers une autre sur la mëme feuille

'Range("B2").Copy Range("C2")

' Copie d'une plage de cellules vers une autre plage de la même feuille

'Range("A2:B4").Copy Range("E2:F4")

' Copie d'une plage de cellules discontinue d'une feuille

' dans une plage continue d(une autre feuille

'Range("A2:B4").Copy Feuil2.Range("A1")

' Copie d'une plage de cellules discontinues dans une plage continue

'Range("A2:B2,A4:B4").Copy Range("E2:F6")

' Copie d'une plage de cellules d'un classeur vers un autre

' ATTENTION, les 2 classeurs doivent être ouverts

Workbooks("Transfert.xlsm").Sheets("Feuil").Range("A1:B1,A2:B2").Copy Workbooks("Recuperation.xlsx").Worksheets("Feuil2").Range("A1")

' CES DEUX LIGNES SONT SUR UNE SEULE DANS MON CODE

'Range("C8").Value = Range("B2").Value

'Workbooks("Recuperation.xlsm").Worksheets("Feuil2").Range ("D1:E4")

'Feuil1.Range("A1:B4").Copy

'Feuil2.Range("A6:D6").PastEpecial Transpose:=True

End Sub

quote]

Message d'erreur: Erreur d'exécution '9': L'indice n(appartient pas à la sélection...

Une bone âme pourrait-elle m'expliquer...?

Merci de votre attention!

Mes fichiers joints:

48recuperation.xlsx (7.76 Ko)

bonjour

plus simple : ne pas faire appel à VBA

de simples liaisons entre fichiers suffisent : le signe = suffit

Bonjour,

jmd

"plus simple : ne pas faire appel à VBA"

On a le droit d'apprendre quand même ?

Workbooks("Transfert_automatique_de_données_VBA1.xlsm").Sheets("Feuil").Range("blabla...")

Ton classeur ne comporte pas de caractères de soulignement dans son nom.

"Feuil" n'existe pas : c'est "Feuil1"

La bonne écriture :

Workbooks("Transfert automatique de données VBA1.xlsm").Sheets("Feuil1").Range("blabla..."

A+

re

galopin01 salut

oui on peut apprendre, mais il vaut mieux commencer par apprendre Excel

Je plussois... un peu !

Mais aujourd'hui on apprend l'anglais en même temps que le français et on apprend à programmer dès le primaire...

IFO pas décourager les bonnes volontés...

re

apprendre à coder oui, mais pas avec VBA.

un des effets secondaires pour ceux qui utilisent Excel sera/est de ne plus savoir écrire

=1+1

dans une cellule

Bonjour Galopin, jmd !

L'indice n'appartient pas à la sélection, c'est qu'il est Out of Bound !

On comprend vite quand l'indice 10 bloque parce que la plage d'indices va de 1 à 9...

Moins vite quand Worksheets("Tartanpion") ou "Tartenpions"... bloque parce que c'est "Tartenpion"...

Des liaisons entre fichiers, c'est un fil à la patte, VBA une garantie de liberté ! (jmd )

Pour savoir, faut apprendre (et comprendre). Bonne journée.

MFerrand a écrit :

Bonjour Galopin, jmd !

Des liaisons entre fichiers, c'est un fil à la patte, VBA une garantie de liberté ! (jmd )

avec tout le respect que je te porte, c'est tout le contraire

- en cas de fichier déplacé ou renommé (volontairement ou pas), une liaison demande 20 secondes pour être rétablie.

par contre, en VBA, faut ouvrir le code et trouver la ligne et la corriger presque en manuel

En gros, une liaison est un code invisible, fiable et fourni en standard avec Excel et qui gère les déplacements de fichiers, les renommages...

le principe, tout aussi facile, existe sous Google Sheets

rien à apprendre, fiable. Que demander de mieux ?

Merci jmd, galopin01 et MFerrand

Merci galopin01, j'ai corrigé" et ça fonctionne parfaitement...

jmd, je ne plussois pas, mais je suis un oeu d"accord avec galopin01:

galopin01 a écrit :

Aujourd'hui on apprend l'anglais en même temps que le français et on apprend à programmer dès le primaire...

IFO pas décourager les bonnes volontés...

MFerrand, Je comprend ton propos, as-tu une méthode d'écriture du code qui me permette d'y voir plus clair...?

L'indice n'appartient pas à la sélection, c'est qu'il est Out of Bound !

On comprend vite quand l'indice 10 bloque parce que la plage d'indices va de 1 à 9...

Moins vite quand Worksheets("Tartanpion") ou "Tartenpions"... bloque parce que c'est "Tartenpion"...

Encore merci à tous de me permettre d'avancer.

jmd a écrit :

avec tout le respect que je te porte, c'est tout le contraire

- en cas de fichier déplacé ou renommé (volontairement ou pas), une liaison demande 20 secondes pour être rétablie.

par contre, en VBA, faut ouvrir le code et trouver la ligne et la corriger presque en manuel

En gros, une liaison est un code invisible, fiable et fourni en standard avec Excel et qui gère les déplacements de fichiers, les renommages...

le principe, tout aussi facile, existe sous Google Sheets

rien à apprendre, fiable. Que demander de mieux ?

Si tu fais des comparaisons avec un code mal conçu, tu t'arranges un peu vite! Si c'est bien conçu tu n'as jamais à retoucher au code, tout au plus recalibrer des constantes en tête de module. Ou bien tu as tes éléments variables sur feuille que tu modifies aisément. Ou bien c'est défini pour ne rien avoir à modifier...

Le principal intérêt de VBA, dans la logique du cas que tu indiques, est de se passer de formules et de leurs résultats pour ne les avoir qu'au moment où tu en as besoin et les éliminer ensuite, et conserver ainsi un fichier nettement plus léger...

Nous aurons l'occasion de poursuivre ultérieurement... Ça fait partie des débats sans fin...

c'est sans fin et sans faim, alors je continue

Excel est fourni en standard avec la fonctionnalité de connexion souple : si on change de fichier(s) source(s), on a une fenêtre toute faite. Il suffit de savoir naviguer dans Windows

Pas besoin du programmeur pour venir en aide.

créer un code qui crée puis efface des formules pour "alléger" un fichier ? quelles formules utilises-tu qui soient si lourdes ?

as-tu un exemple de tel fichier ?

Bonne journée à toi !

Je n'ai pas d'exemple dans mes fichiers ! J'utilise des formules quand elles ont un rôle de formule à jouer : elles ne bougent plus et renvoient un résultat qui peut varier. Si la formule renvoie un résultat qui changera plus, je me passe de formules et mets d'emblée (VBA ) les données définitives. J'évite aussi de couvrir des milliers de lignes avec des formules !

Quant aux données, quand je les ai une fois, pas besoin de les dupliquer à loisir ! (hors sauvegarde qui est une autre question).

Les présenter selon besoins peut se faire à tout moment, et la présentation n'a nul besoin d'être conservée dès lors qu'on peut la répliquer à loisir.

Exemple typique, le cas des plannings : je n'ai jamais conçu de classeur abritant 12 feuilles mensuelles, ou 53 feuilles hebdomadaires, voire 366 feuilles journalières... Une feuille par présentation suffit (on n'en regarde qu'une à la fois ! ) Elle sert à naviguer dans les données calendaires, éventuellement à les saisir, et les données sont ajoutées, modifiées, supprimées, et stockées tout en restant masquées.

Je ne crée en principe pas de code pour mettre des formules ! Et pour les effacer ensuite, ce serait absurde !... Quand je n'ai pas besoin de VBA, je ne m'en sers pas, mais si je trouve que VBA me fournira un résultat plus simple (tant à la réalisation qu'à l'utilisation), je l'utilise autant que possible pour faire autrement qu'avec Excel, je prends ce qu'il me faut pour travailler hors Excel et revenir avec le résultat. Je ne préconise pas du VBA à tout bout de champ, et c'est un point sur lequel nous sommes d'accord, mais je ne te suis pas dans ta prévention anti-VBA systématique. Ni anti-crayon/papier d'ailleurs ! Je ne saurais m'attaquer à un projet sans (n'ayant pas pu me faire aux logiciels de Mind-mapping, sans doute que je n'ai pas pris assez de temps pour), mais l'utilisation papier-crayon, c'est avant d'ouvrir Excel ! c'est pour dessiner le schéma de conception globale, non pour copier je ne sais quoi...

Il faudrait que je cherche des exemples dans les fichiers traités au niveau Forums, mais c'est un peu trop fastidieux...

Cordialement.

Bonjour MFerrand,

Pardon d'avoir tant tarder à te répondre, mais étant débutant, j'ai tendance à me dispercer...!

Je cherche partout sur le Web, lis moult documents, et suis plein de tutos pour évoluer en VBA...

J'avance, mais je t'avoue que c'est un peu empirique.

J'en oublie parfois de suivre mes post jusqu'au bout et je t'en demande pardon.

J'ai bien compris ton propos et t'en remercie.

A+ dans de nouveaux post, car j'ai encore besoin de vous tous sur le forum

Pas de souci sur ce sujet... Si je relis bien, j'étais dans une discussion parallèle avec jmd, et je n'étais pas intervenu directement sur la question posée...

Et je ne suis pas sûr d'avoir bien enregistré au départ qui était à l'origine du sujet, sachant que j'avais fait une offre sur un sujet antérieur que tu n'as pas retenue pour suivre une progression de type touche à tout qui explique à elle seule une bonne partie de tes sujets ultérieurs, car à vouloir maîtriser des constructions complexes en laissant de nombreux trous dans les fondations, l'édifice a du mal à rester en équilibre ! Mais bonne continuation tout de même.

Cordialement.

Rechercher des sujets similaires à "erreur execution"