A voir également:
- Construire un classeur à partir d'autres classeurs
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Trouver un nom à partir d'une adresse ✓ - Forum Loisirs / Divertissements
- Comment faire une recherche à partir d'une photo - Guide
- Annuaire portable gratuit a partir d'un nom ✓ - Forum Mobile
- Trouver quelqu'un avec son numéro de téléphone gratuitement ✓ - Forum Mobile
2 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
28 juin 2013 à 13:30
28 juin 2013 à 13:30
Bonjour,
Un tel classeur de récap sera impossible à gérer.
J'explique :
Feuil1 de ton nouveau classeur, tu récupères les infos de la colonne D de 4000 classeurs.
Donc 2 choix, soit tu obtiens, dans ta feuille 1, une seule colonne de 23 156 000 lignes, soit 4000 colonnes de 5789 lignes.
Tu vois le topo?
Et ceci sur 3 feuilles....
Alors question subsidiaire, que dois tu faire à partir de cette masse de données???
Un tel classeur de récap sera impossible à gérer.
J'explique :
Feuil1 de ton nouveau classeur, tu récupères les infos de la colonne D de 4000 classeurs.
Donc 2 choix, soit tu obtiens, dans ta feuille 1, une seule colonne de 23 156 000 lignes, soit 4000 colonnes de 5789 lignes.
Tu vois le topo?
Et ceci sur 3 feuilles....
Alors question subsidiaire, que dois tu faire à partir de cette masse de données???
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
28 juin 2013 à 14:20
28 juin 2013 à 14:20
Tu penses que ce n'est pas envisageable?
Je penses qu'Excel n'est pas fait pour traiter autant de données.
Réalisons un petit test.
Tes données représentent 4000 colonnes sur 5788 lignes. Le plus rapide pour réaliser ceci est de passer par une variable tableau qui mémorise toutes tes données.
Cette macro remplit et restitue, dans une feuille excel, le nombre de données que tu souhaites.
Essaye là et dis nous le résultat :
Pour l'utiliser :
- fermer toutes les applications,
- ouvrir un nouveau classeur excel,
- taper ALT+F11
- insertion/Module
- copier-coller le code dans le module
- fermer la fenêtre visual basic editor
- depuis n'importe qu'elle feuille du classeur excel taper ALT+F8
- choisir remplir
- cliquer sur exécuter
Pour info, chez moi, avec Excel 2010, Seven et un bon petit pc, le message d'erreur : "mémoire insuffisante, veuillez fermer toutes les applications blablabla" apparaît...
Si quelqu'un d'autre sait comment je peux y remédier...
Je penses qu'Excel n'est pas fait pour traiter autant de données.
Réalisons un petit test.
Tes données représentent 4000 colonnes sur 5788 lignes. Le plus rapide pour réaliser ceci est de passer par une variable tableau qui mémorise toutes tes données.
Cette macro remplit et restitue, dans une feuille excel, le nombre de données que tu souhaites.
Essaye là et dis nous le résultat :
Option Explicit Sub remplir() Dim Lign As Long, Col As Long, TablDonnées(4000, 5789) Dim t t = Timer 'remplir For Lign = 0 To 5788 For Col = 0 To 3999 TablDonnées(Col, Lign) = 1 Next Next 'restituer Application.ScreenUpdating = False Range("A1").Resize(UBound(TablDonnées, 2), UBound(TablDonnées, 1)) = Application.Transpose(TablDonnées) Application.ScreenUpdating = True MsgBox "réalisé en : " & Timer - t & " secondes" End Sub
Pour l'utiliser :
- fermer toutes les applications,
- ouvrir un nouveau classeur excel,
- taper ALT+F11
- insertion/Module
- copier-coller le code dans le module
- fermer la fenêtre visual basic editor
- depuis n'importe qu'elle feuille du classeur excel taper ALT+F8
- choisir remplir
- cliquer sur exécuter
Pour info, chez moi, avec Excel 2010, Seven et un bon petit pc, le message d'erreur : "mémoire insuffisante, veuillez fermer toutes les applications blablabla" apparaît...
Si quelqu'un d'autre sait comment je peux y remédier...
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
28 juin 2013 à 14:51
28 juin 2013 à 14:51
Je ne vois rien d'incompatible, et je viens de retester, ça fonctionne avec moins de données.
Essaye :
Essaye :
Option Explicit Sub remplir() Dim Lign As Long, Col As Long, TablDonnées(400, 578) Dim t t = Timer 'remplir For Lign = 0 To 578 For Col = 0 To 399 TablDonnées(Col, Lign) = 1 Next Next 'restituer Application.ScreenUpdating = False Range("A1").Resize(UBound(TablDonnées, 2), UBound(TablDonnées, 1)) = Application.Transpose(TablDonnées) Application.ScreenUpdating = True MsgBox "réalisé en : " & Timer - t & " secondes" End Sub
Oui ca fonctionne ! J'ai essayé avec 1000 colonnes et 5800 lignes et c'est ok.
Dans ce cas, ne serait-il pas possible de scinder mon échantillon en plusieurs sous-échantillons. Au lieu de regrouper mes données dans un classeur avec 3 feuilles composées chacune de 4000 colonnes et 5788 lignes, ne peut-on pas les regrouper par colonnes de 1000 ce qui me ferait 4 classeurs au lieu d'un seul.
Je pourrais ensuite concaténer les fichiers.
Dans ce cas, ne serait-il pas possible de scinder mon échantillon en plusieurs sous-échantillons. Au lieu de regrouper mes données dans un classeur avec 3 feuilles composées chacune de 4000 colonnes et 5788 lignes, ne peut-on pas les regrouper par colonnes de 1000 ce qui me ferait 4 classeurs au lieu d'un seul.
Je pourrais ensuite concaténer les fichiers.
28 juin 2013 à 14:01
Maintenant c'est possible de reconstruire non pas sur 3 feuilles mais sur 3 classeurs.
Réponse question subsidiaire, j'ai besoin de ces données pour appliquer des modèles à facteurs dynamiques.
Tu penses que ce n'est pas envisageable?