Erreur 1004

Bonjour

Pouvez vous SVP m'aider chaque fois lors de l’exécution de fichier jiont un erreur 1004 s'affiche

Merci

4txt.zip (5.65 Ko)

bonsoir

j'ai essayé de mettre manuellement votre formule dans la case J5 de la feuille data créée par le code...

ta fonction n'est pas accessible depuis une cellule de la feuille de calcul, je pense que le problème vient de là. mais je ne trouve pas pourquoi j'ai fait une fois une fonction personnalisée et je n'ai pas rencontré ce problème...

Fred

EDIT une fois mise ta fonction en public et dans un autre module la fonction est accessible depuis une cellule de la feuille excel

mais toujours une erreur je ne sais pas a quoi correspond [@{vol d''arrive]]

si on prendre une valeur de la colonne G cela fonctionne correctement

il faut d'abord résoudre le problème sur la feuille excel et ensuite passer au code VBA

j'ai mis un " pour l'instant dans le cellule ou doit arrivé cette formule par le code VBA

et un essai sur la ligne en dessous

Fred

Bonjour Fred406,

Peux-tu me dire ou le code bugge, car notre ami commun peine à donner l'info.

Re chaouch.najeh,

Il n'est pas nécessaire de multiplier les messages d'un même sujet

Je répète que ce code fonctionne parfaitement sur mon poste avec Excel 2010.

Cdlt.

bonjour Jean-eric et les autres...

le code coince chez moi sur 2007 Fr ici :

 Cells(5, 10).Formula = strCode 

avec strCode definit un peu plus haut :

strCode = "=DeleteNum([@[vol d''arrive]])"

la fonction utiliser a partir d'un cellule excel marche une fois définie comme fonction perso et accessible (voir le fichier que j'ai joint)

je suppose que c'est ceci qui pose problème : ([@[vol d''arrive]])

fred

Re,

peux-tu tester cette nouvelle version?

J'ai tout simplement modifié un entête de colonne du tableau. et adapter le code en conséquence.

Soit 'Vol arrive' ald 'Vol d'arrive' qui devenait 'Vol d''arrive'??

Merci.

Cdlt.

@ chaouch.najah : Peux-tu clore les doublons liés à ce même sujet sur le forum?

re

toujours le même problème chez moi...

fred

Edit :

la ligne Cells(5, 11).Formula = strCritere1 pose aussi problème

et celle ci Cells(5, 12).Formula = strCritere2 c'est OK

Re,

Nouvelle mise à jour suivant tes remarques

Peux-tu tester ?

Merci de ton aide.

Cdlt.

Re

désolé pour toi mais toujours pareil sur les deux lignes de codes....

fred


Jean Eric

j'ai vu que dans ton code tu as utilisé l'enregistreur de macro pour faire cette dernière version de code... qui visiblement marche chez toi

chez moi avec la version 2007 cela coince quand j'essaye de le faire a la main ....

dans excel une fenêtre me surligne [@[vol

et j'ai comme message :

[quote]le nom entré n'est pas valide

raison possible :

  • le nom ne commence pas par une lettre ou un trait de soulignement
  • le nom contient un espace ou un autre caractère non valide
  • le nom est en conflit avec un nom prédéfini dans Excel ou le nom d'un autre objet du classeur
[/quote]

j'ai essayé de modifié ton code en mettant uniquement "arrive" à la place de "vol arrive" (3 changements dans ton code a faire...)

mais sans succès (=creer_code([@[arrive]]))

j'ai vraiment l'impression de c'est @ qui pose problème

fred

a quoi te sert le @ ???

aurais tu un exemple a essayer aveccet @ et une fonction pré-definie d'excel ?? pour faire un essai sur 2007

Edit :

j'ai essayé de saisir la formule suivante dans la cellule J5 : "=Creer_code(tblFinal[[#This Row],[arrive]])"

et cela marche si cela peut t'aider...

dans ta formule aussi :

j'ai remplacer par strCode = "=Creer_code(tblFinal[[#This Row],[arrive]])"

EDIT 2 :

j'ai remplacer tes deux lignes de codes par :

 ' creer code de denombrement
    strCode = "=Creer_code(tblFinal[[#This Row],[arrive]])"
    ' compter le nombre d'occurences total des codes
    strCritere1 = "=COUNTIFS([date arrive],tblFinal[[#This Row],[date depart]],[Code],tblFinal[[#This Row],[Code]])"

a voir maintenant si cela est bien conforme a ce qui était attendu surtout avec le nb.si.ens....

fred

Re,

Je n'ai pas vraiment utilisé l'enregistreur pour les formules.

J'ai commencé par écrire la formule dans la feuille de calcul. Son fonctionnement étant satisfaisant, j'ai alors utilisé l'enregistreur pour la codifier, pour un usage en VBA.

le @ est lié à l'utilisation des tableaux (Excel 2007+). C'est une syntaxe, que j'aurai du mal à t'expliquer.

Il y a de nombreux avantages à utiliser les tableaux. celui qui me plaît particulièrement est celui que j'essaie de mettre en place :

La formule saisie en première ligne d'une colonne est automatiquement recopiée dans toute la colonne. Tu comprendras bien l'avantage

Je joins à nouveau les 2 fichiers en espérant qu'un utilisateur sous Excel 2010 confirme l'absence de bugs.

Ça commence à me prendre la tête

Cdlt.

nb : sinon, les tableaux sont-ils bien définis dans le gestionnaire de noms?

2txt.zip (5.65 Ko)

re

je regarderais cette histoire de @ car bien pratique.... d'après ce que j'ai compris ....

les pages du tableau on l'air bien définies

normalement la version 10 du fichier que j'ai mis a dispo devrait fonctionner... l'auteur de ce post le confirmera peut-etre ???

as-tu essayé toi avec le fichier que j'ai mis a dispo pour savoir si cela tourne sous 2010 ??

a+

fred

Re,

C'est okay pour moi, mais je ne comprends toujours pas.

Et ça m'énerve un peu mais ne m'étonne pas plus non plus.

Les 2 syntaxes en VBA retournent les mêmes formules dans la feuille de calcul (si je vois bien...).

Il y a certainement une différence liée aux versions d'Excel utilisées.

En tout cas, je te remercie de l'aide apportée. Attendons la réaction de chanouch.naja.

(il y a 3 sujets ouverts qui traitent +/- de la même question).

Cdlt.


Re,

Un dernier point.

Peux-tu intégrer cette modification?

' creer code de denombrement
    strCode = "=Creer_code(tblFinal[@[vol arrive]])"
    ' compter le nombre d'occurences total des codes
    strCritere1 = "=COUNTIFS(tblFinal[date arrive],tblFinal[@[date arrive]],tblFinal[Code],tblFinal[@Code])"

J'ai simplement écrit des 2 formules en dehors du tableau pour le VBA.

Cela fonctionne-t-il?

Cdlt.

re

avec cette modif cela ne fonctionne pas.....

on va rester avec la V10 qui a priori marche....

A+

Fred

Merci beaucoupppppppp

Rechercher des sujets similaires à "erreur 1004"