XL Depassement de capacité ??

Résolu
Bonjour,

J'ai un fichier que je suis en train d'actualiser car il servait pour une fonction similaire mais pas sur le même type de données

Or, le problème est que j'obtiens un message de dépassement de capacité lorsque le code est exécuté

Ce fichier synchronise le fichier de base (SUIVI ANC) avec les nouvelles données importées (anc-origine)

Le fichier anc-origine évolue toutes les semaines, des lignes sont supprimées ,d'autre s'ajoutent

Le but du fichier est de garder les infos a jour avec les commentaires et autre infos ajoutées sur le fichier ANC

Utilisation du fichier

Fichiers : http://dl.free.fr/getfile.pl?file=/AYD9NcBo

PS: je crois que j'ai oublié de zapper le mot de passe pour lecode : 1221578

ouvrir les deux fichiers

Selectionner la totalité des infos de "anc-origine"

coller dans l'onglet Import_ANC du fichier SUIVI ANC ( en cellule A1)

Cliquer sur le bouton

La mise en forme du tableau se fait, les convertions en nombre egalement mais au moment de la syncro j'ai le bug de depassement de capacité

Si quelqu'un peut m'aider ca serait sympa

De plus, je suis vraiment un busard mais j'arrive plus a me rappeler comment faire pour ajouter dans l'onglet ANC_Final le nom des comptables en fontion de la BUAP

En gros il faudrait que le nom du comptable apparaisse dans la colonne D de l'onglet ANC_Final en fonctio nde l'info reprise dans la colonne B ( le tout en allant chercher l'info dans l'onglet comptable )

Merci d'avance si vous pouvez m'aider ca m'aiderai beaucoup

PS : attention je susi en excel 2002 au bureau et du coup je sais que les codes sont un peu plus arriérés et tout les codes actuels ne fonctionnent pas sous Excel 2002
CED

6 réponses

  1. Personne pour me donner un coup de main?
    0
    1. bonjour,

      pour votre première question je ne sais pas, par contre pour la 2°, à coller dans D3 de ANC_Final :
      =si(D3="";"";RECHERCHEV(B3;Comptables!A:B;2;FAUX)) puis étirer
      0
      1. Bonjour

        Merci pour la recherchev cela serait un substitut au cas ou je ne trouve pas de code correspondant

        par contre en collant la formule en D3 j'ai a chaque fois le resultat 0
        0
      2. normal il y a une erreure dans la formule :-)

        =SI(B3="";"";RECHERCHEV(B3;Comptables!A:B;2;FAUX))

        La meme chose peut etre fait avec un code si vous le souhaitez...mais je ne vois pas l'interet..
        0
      3. En l'occurence l'interet et que je met en place ce fichier pour des personnes pour qui un copier coller parait insurmontable. donc le maximum d'automatisme est de mise

        Car si je leur dit qu'il faut faire glisser la formule ... euh bah je vais me heurter à des murs, qui aiment utiliser des fichiers qui roulent tout seul ( qui par ailleur font gagner enormement de temps) mais dès qu'il faut utiliser excel sur des fonctions même basique, et bien ... ca rame

        Pour ma part j'avoue que j'aurais pas vu l'erreur, j'ai toujours eu un peu de Mal avec RECHERCHEV

        Dans tout les cas je garde cette formule sous le coude dans le pire des cas de la ferait s'inserer toute seule par un code et la ferait redescendre selon les besoin

        Merci beaucoup ca sera deja un moyen de faire

        Bon week end
        0
      4. Comme tu as l'air de bien t'y connaitre en VBA, déjà une ligne qui permet de rechercher le nom dans la 2°colonne de 'comptables' en fonction d'un code BUAP :
        nom = Sheets('comptables').Cells(Range("A:B").Find('code BUAP').Row, 2)

        (c'est ni plus ni moins la même chose de RECHERCHEV)
        SI tu en veux plus (code complet) dis le et je regarderais
        0
      5. disons que j'ai suivi quelques cours et que j'essaye de bidouiller a l'aide des forum quand j'ai besoin de quelquechose

        le tout etant que j'arrive comprendre le code et la je pense avoir saisi par contre le fait de se generer dans ANC_final je seche
        0
    2. bonsoir,
      pour le sujet des comptables, le code suivant répond à la question (recherche dans feuille "comptables" avec buap pour colonne 4 de "anc_final") :
      Sub cherchecomptables()
      Dim result() As String
      With Sheets("ANC_Final")
          nbrligne = .Cells(.Columns(2).Cells.Count, 2).End(xlUp).Row
          ReDim result(1 To nbrligne - 2, 1 To 1)
          For i = 3 To nbrligne
              buap = .Cells(i, 2).Value
              On Error Resume Next
              With Sheets("comptables")
                  result(i - 2, 1) = .Cells(.Range("A:A").Find(buap).Row, 2)
              End With
          Next i
          .Range(Cells(3, 4), Cells(nbrligne, 4)) = result
      End With
      End Sub


      0
      1. Bonsoir, totu d'abord desole pour la reponse tardive, j'ai été en rade de connection depuis 2 jours

        Pour le code, Nickel j'ai integré ce code et ca marche au poil

        vraiment merci, j'ai compilé ca dans le reste du fichier et j'ai vu aussi avec la reponse de Patrice ( ci dessous) mais mon fichier plante encore
        0
    3. Le «Bug» n'en est pas un !
      L'erreur vient du fait que certains numéro de pièces sont supérieurs à 2147483647 qui est la valeur maximum supportée par la variable nPiece de type Long.

      La solution consiste à changer le type de variable :

      Dans les deux procédures suivantes :

      MAJ_FinalSelonImport() et SupprimerPiece()

      il suffit de remplacer :

      Dim ........, nPiece As Long, ........    


      Par :

      Dim ........, nPiece As Double, ........    


      Patrice
      0
      1. Bonjour Patrice

        Merci apparament ca marche sur le principe du bug, j'ai apporté les modifs mais le fichier ne fonctionne toujours pas totalement

        La synchro ne se fait qu'en partie

        Des lignes sont supprimées alors qu'elle sont toujours présentes dans l'import

        Si tu as un peu de temps , et que tu peux y jeter un oeil ca serait sympa

        Le but principal étant de de synchroniser le fichier excel en fonction deu fichier d'import ( en conservant les commentaires des pièces étant toujours présentes)

        En plus va falloir que je jette un oeil pour refaire une tite magouille de remplacement pour les statut d'imputation car forcement eux en se synchronisent pas ( mais je vais m'y atteler)

        Donc merci d'avance à toi si tu peux m'aider

        Au jour d'aujourd'hui mon fichier (avec les modifs) apportées donne ceci

        http://dl.free.fr/getfile.pl?file=/66BPERmZ
        0
    4. A priori, il semble que la méthode Find ne trouve pas les pièce dont la valeur numérique est supérieure à 2147483647

      Dans la procédure Sub SupprimerPiece()

      Remplace

      Set r = Worksheets(... , LookIn:=xlValues, ...

      Par

      Set r = Worksheets(... , LookIn:=xlFormulas,...


      Cela résout le problème de disparition de certaines pièces.

      Cordialement.
      0
      1. Pense aussi à corriger nPiece as Double, ce n'est pas dans ton dernier fichier.
        0
      2. a vue de nez et très rapidment ca a l'air de marcher je ferai des test plus approfondis demain au bureau

        En tout cas merci bcp pour le coup de main, je te tiens au courant si ca marche sans probleme
        0
      3. Bonjour Patrice

        Alors chez moi, apres divers test ca marche nickel enorme merci ( plus qu'a voir si au boulot ca va marcher car nous sommes en excel 2002)

        par contre j'ai tenté, pour la mise a jour des statut d'imputation (colonne J de AncFinal) de faire un copier ( avant la mise a jour) et un collé ( avant le tri des références), ca bug

        Pour faire le test j'ai procédé ainsi sur le fichier d'import j'ai filtré sur une BUAP et j'ai mis un statut different ( par exemple tartempion) pour voir ce que cela donne. Mais j'ai encore un bug a ce niveau la , y'a un décalage qui se fait ce qui ne me donne pas les bons statuts sur les bonnes lignes

        Pourrais tu y jeter un oeil et me dire ce que tu ferais pour corriger cela

        Par ailleur, si j'utilise le même fichier ( pour une autre utilisation) mais que les références qui sont actuellement dans N° Pièce intégral ressemblent à IM-2007-0148 est ce que cela fonctionnera aussi etant donén que les carateres ne sont pas numéric ????

        Merci d'avance
        0
    5. Re,
      je suis d'accord avec Raymond PENTIER que je salue au passage concernant l'utilisation de produits adaptés (après comme on ne sait pas quelle type de gestion est au final cherchée (gestion financière je suppose si tu parles de dépassement de quantité...), je ne suis pas sur que les les Project et consort soient la bonne réponse mais cela es une autre discussion...).
      Ceci dit, si il y a un blocage autour d'excel, je peux te citer un exemple vécu :
      j'ai moi meme utilisé une application de gestion de chantier développée en 'interne' sur excel : pas spécialement compliqué dans "l'esprit" mais nécessite tout de meme un développement 'réfléchi' (Cela doit se concevoir comme un logiciel - pas une série de "bidouilles" comme on est en train de le faire.)
      Et vu le niveau de discussion que nous avons là, on est franchement pas rendu...
      -2
      1. bah c'est marrant mais je n'ai aps parlé de quantité nul part ... juste qu'il y avait un bug au niveau d'un probleme de variable que je ne savais pas résoudre ( chose que Patrice a compris vraissemblablement puisqu'il m'a donné la solution)

        L'application de base sert deja pour l'utilisation de mise a jour d'un autre fichier assez similaire, ap^pres l'action que doit faire le fichier final il suffit de voir dans le commentaire initial ou je l'explique ... apres je suis ouvert au question pour être plus clair quand quelqu'un ne comprend pas ....

        A vue de nez le niveau doit pas être assez élevé puisque Patrice a su me repondre avec efficacité
        0
      2. Vraiement désolé !!

        Je me suis trompé de post !!
        Cela ne m'était encore jamais arrivé...
        Encore une fois : toutes mes excuses pour cette erreur d'aiguillage...
        0
      3. je me disais aussi .... ca paraissait pas cohérent .... pas de soucy les boulettes ca arrive ;-)
        0