Erreur d'execution 1004 : La méthode 'Range' de l''objet'_Gl

Bonjour,

Je suis novice en VBA.

J'ai créé un formulaire sous Excel (Rapport journalier.xlsm) dans lesquel des utilisateurs remplissent des cases prédéfinies (j'ai défini des noms de case).

J'ai un bouton sur le formulaire auquel est associé une macro qui permet de "tranférer" les données dans un autre fichier (TDBPROD France Concassage.xlsm) me permettant de constituer une "Base de Donnée" sur l'une des feuilles (BDD).

La macro à bien fonctionée jusqu'à ce que j'insère des colonnes au niveau de ma BDD (les 3 premières colonnes). J'ai tenté de mofifier le code VBA en rapport. Malheureusement, cela ne fonctionne plus. Lorsque je lance le deboguage , le message suivant s'affiche : erreur d'execution 1004 : La méthode 'Range' de l''objet'_Global' à échoué.

J'echoue moi même à résoudre ce problème

Pouvez-vous m'aidez ?

Bonjour,

ci-jointe correction.

Tu aurais intérêt à nommer les colonnes de ta base de données comme tu l'as fait pour le formulaire. Cela t'éviterait de revoir ton code si tu rajoutes des colonnes. Pour l'exemple, j'ai nommé les 3 premières.

Merci pour ta réponse thev.

Effectivement, je suivrais ton conseil sur la nomination des colonnes dans la bdd.

J'ai testé ton code mais cela ne fonctionne pas.

SI je précise que les 3 premières colonnes inserer en début de bdd contiennent des formules de calcul, est-ce que cela change ton analyse ?

Edit : les données s'écrivent si les trois premières colonnes ne contienent pas de formule de calcul. Ex : formule de calcul jusqu'en ligne 999, les données s'ecrivent à parti de la ligne 1000. Comment résoudre ceci ?

Benjamin21 a écrit :

J'ai testé ton code mais cela ne fonctionne pas.

Ta macro pointe sur le classeur "TDBPROD France Concassage.xlsm et non sur le classeur que je t'ai renvoyé "TDBPROD France Concassage1.xlsm".

Tu dois renommer le fichier que je t'ai envoyé ou modifier ta macro.

Benjamin21 a écrit :

Edit : les données s'écrivent si les trois premières colonnes ne contienent pas de formule de calcul. Ex : formule de calcul jusqu'en ligne 999, les données s'ecrivent à parti de la ligne 1000. Comment résoudre ceci ?

S'il y a des formules de calcul jusqu'à la ligne 1000, alors la première ligne disponible (variable LG) sera la ligne 1001.
thev a écrit :
Benjamin21 a écrit :

J'ai testé ton code mais cela ne fonctionne pas.

Ta macro pointe sur le classeur "TDBPROD France Concassage.xlsm et non sur le classeur que je t'ai renvoyé "TDBPROD France Concassage1.xlsm".

Tu dois renommer le fichier que je t'ai envoyé ou modifier ta macro.

Benjamin21 a écrit :

Edit : les données s'écrivent si les trois premières colonnes ne contienent pas de formule de calcul. Ex : formule de calcul jusqu'en ligne 999, les données s'ecrivent à parti de la ligne 1000. Comment résoudre ceci ?

S'il y a des formules de calcul jusqu'à la ligne 1000, alors la première ligne disponible (variable LG) sera la ligne 1001.

oui, j'avais déjà fais la modification du nom de fichier.

Existe-t-il une solution pour contourner le fait que l'ecriture commence en ligne 1001 et faire que les données s'écrivent à partir de la colonne 4 en ligne 1 tout en gardant les formules de calculs dans les 3 premières colonnes de la ligne 1 ?

Existe-t-il une solution pour contourner le fait que l'ecriture commence en ligne 1001 et faire que les données s'écrivent à partir de la colonne 4 en ligne 1 tout en gardant les formules de calculs dans les 3 premières colonnes de la ligne 1 ?

Il suffit de copier les 3 formules en ligne 1000.

ci-jointe nouvelle version avec recopie des formules

Excellent !

Désolé pour le temps de réponse...

Ca fonctionne nikel...

Sinon, il y avait aussi la possibilité de déplacer les colonnes formules de calcul à la fin du tableau après les colonnes a importer.

Merci de ton aide Thev.

Rechercher des sujets similaires à "erreur execution 1004 methode range objet"