Comparer des feuilles excel et faire la mise à jour
muiigisha
Messages postés
61
Date d'inscription
Statut
Membre
Dernière intervention
-
muiigisha Messages postés 61 Date d'inscription Statut Membre Dernière intervention -
muiigisha Messages postés 61 Date d'inscription Statut Membre Dernière intervention -
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
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
A voir également:
- Comparer des feuilles excel et faire la mise à jour
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Mise en forme conditionnelle excel - Guide
- Comment faire un livret avec des feuilles a4 - Guide
- Word et excel gratuit - Guide
2 réponses
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.
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.
Alors tu peux écrire essayer d’extraire les données en tableau.
https://silkyroad.developpez.com/vba/tableaux/
https://silkyroad.developpez.com/vba/tableaux/
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?
Merci d'avance pour votre aide
puis-je affecter seulement des colonnes spécifiques dans un tableau et non une plage?
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
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)
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 :( ?