Comparer des feuilles excel et faire la mise à jour

muiigisha Messages postés 61 Statut Membre -  
muiigisha Messages postés 61 Statut Membre -
Bonjour le forum,

j'ai pusieurs fichiers excel à comparer et à chaque je dois ajouter dans un fichier (le plus ancien) ce qui s'est ajouté dans les nouveaux et qui n'est pas pas présent chez lui. J'ai pensé à aller cellule après cellule mais le code mets au moins 20 mins. N'y aurait-il pas un autre moyen plus rapide?

Merci d'avance

2 réponses

  1. Utilisateur anonyme
     
    Bonjour

    Tu as posté ta question dans le forum VB/VBA, ce qui sous entend (puisque tu ne le dis pas clairement) que tu utilises une macro VBA ou que tu as fait un programme (VB6, VB.Net, VBS?).

    A supposé que tu utilises une macro, as tu bloqué la mise à jour de l'affichage le temps qu'elle s'exécute?

    Si oui, il faut gardé à l'esprit qu'Excel n'est pas une base de données, même s'il est souvent utilisé comme tel. C'est un tableur. Une des limitations d'un tableau par rapport à une base de données peut être la vitesse d'accès aux dites données.
    1
    1. muiigisha Messages postés 61 Statut Membre
       
      Bonjour Whismeril,
      merci pour ton intervention.
      Oui j'ai mis "Application.Screenupdating= False" au tout début
      Donc en gros je ne peux pas vraiment optimiser mon code :( ?
      0
  2. Utilisateur anonyme
     
    Alors tu peux écrire essayer d’extraire les données en tableau.
    https://silkyroad.developpez.com/vba/tableaux/
    0
    1. muiigisha Messages postés 61 Statut Membre
       
      Ah ouii et le comble c'est que j'avais déja été sur cette page. Merci beaucoup j'essaie celà et je reviens vers vous
      Merci
      0
    2. muiigisha Messages postés 61 Statut Membre
       
      désolée mais j'ai un souci. Dans les recherches que je fais je constate que ce sont des plages affectées au tableau, dans ce cas comment reconnaître je veux dire indexer les colonnes dont on veut se servir (moi je voudrais juste affecter 3 colonnes dans un tableau et 3 dans un autres et pouvoir faire la comparaison des triplets de chacun des tableaux à chaque fois).
      Merci d'avance pour votre aide

      puis-je affecter seulement des colonnes spécifiques dans un tableau et non une plage?
      0
    3. muiigisha Messages postés 61 Statut Membre
       
      Merci j'ai trouvé
      il fallait juste toujours prendre la plage et compter les colonnes puis simplement les indicer
      merci encore je suis quittée de 20mins à à peine 1minutes et je le fais tellement à tout bout de champ.
      Merci
      0
    4. muiigisha Messages postés 61 Statut Membre
       
      Bonjour,
      je reviens vers vous car je n'arrive pas à récupérer l'indice de la dernière ligne non vide j'ai déja utilisé plusieurs codes par rapport à cela;soit j'ai l'erreur "subscript out of range",soit ca me renvoie un chiffre qui n'est pas du tout l'indice de la dernière ligne renseignée de la feuille.
      Aidez moi svp
      merci d'avance
      voici ci dessous les différentes instructions que j'ai utilisé jusqu'ici
      mySheet.Activate
      idLastrow = ActiveSheet.UsedRange.Rows.Count 'Worksheets("mySheet").UsedRange.SpecialCells(xlCellTypeLastCell).Row 'Split(Worksheets("mySheet").UsedRange.Address, "$")(4)
      0