XL 2010 Combler les lignes manquantes

guy72

XLDnaute Impliqué
Bonjour,
J'ai un fichier ou il y a les relevées météo toutes les minutes de la journée (1440 lignes)
Mais....dans ces relevés, j'ai des manques de minutes (donc des manques de lignes, (pas toujours au même endroit).

Par exemple avant la modification, j'avais :
A (Date) B(Time)
332 20161218 43000..............
333 20161218 43200...............
Donc, dans la colonne B, il me manque 43100

Pour rectifier le tir, je suis obligé (tous les jours) de copier la (les) lignes supérieures :
Ligne 332 colonne B=43000 et de (l') ou (les) insérées entre la ligne 332 et 333.

Ce qui donne :
A (Date) B(Time)
332 20161218 43000..............

333 20161218 43000 .............. (La ligne rouge est celle que j'ai insérée)
334 20161218 43200..............

Pour l'instant, je n'ai pas trouvé mieux.
Il y a ces problèmes en lignes : 337/339...387/389...432/434...447/449...469/472......etc

Ma question est :
Est-il possible de copier la ou les lignes supérieures, et de les insérer automatiquement entre les lignes à tous les endroits ou il y a un manque dans la colonne B

Dans la fichier joint :
1) En noire les lignes normales
2) En Rouges les lignes insérées
3) En jaune les emplacements des manques
4) Après, j'ai une macro qui me modifie le fichier et me l'envoie dans un autre fichier.

Si vous trouvé une solution ?
Merci de votre aide
Cordialement
 

Pièces jointes

  • 18_Décembre_2016.xlsm
    196.2 KB · Affichages: 59

TooFatBoy

XLDnaute Barbatruc
Oui, c'est bien ça, ça prend le jour précédent celui d'aujourd'hui. ;)

Si tu regardes le code, tu verras que la date du jour recherché est contenue dans la variable MaDate.
Donc si tu veux utiliser une autre date, il te suffit de changer le contenu de cette variable, soit directement dans le code, soit dans une cellule, soit dans une fenêtre de dialogue.
 

guy72

XLDnaute Impliqué
Effectivement, j'ai pensé par exemple au vacances :
Quand je vais revenir, je vais lancer "Xnet_Meteo.exe" qui lui, va récupérer les données de ma station sur plusieurs jours, donc là, il faudra que je face la manipe à chaque jour.
Code:
MaDate = Date - 1
, il faudra que je mette (par exemple)
Code:
MaDate = Date - 5
...
Code:
MaDate = Date - 4
.....
Code:
MaDate = Date - 3
.....
Code:
MaDate = Date - 2
et je reviens à
Code:
MaDate = Date - 1
:)
 

guy72

XLDnaute Impliqué
Si je fais les macros les unes après les autres, ça fonctionne impeccable.

Pour arriver à tout avoir en une seule macro, j'ai fais:
Nouveau module 1 avec :

Sub Principale ()
Call Rechercher
Call Completer
Call Preparer
Sub

Et ça ne fonctionne pas.
Quand je veux lancer "Sub Principale ()", j'ai le message suivant :
"Variable ou procédure attendue et non un module"
1) Call Rechercher, ce met en bleu
2) Sub Principale () se met en jaune

Pourquoi ???
 

TooFatBoy

XLDnaute Barbatruc
Oui, c'est faisable.
Mais pas sûr que ce soit souhaitable car on n'est pas certain de trouver une sélection dans le fichier Xnet.csv (par exemple s'il y a un trou à 23h00 pour le début ou à 22h59 pour la fin), et si jamais il y a un problème (par exemple mauvaise sélection automatique) tu perds toutes tes données (donc ne jamais travailler directement sur la feuille contenant les données, mais plutôt sur un autre onglet ou un autre fichier).

Bref, il faut bien définir tes besoins. ;)
 

TooFatBoy

XLDnaute Barbatruc
Mon message précédent était une réponse à ton message du matin. ;)

Pour ton dernier message : peut-être que la procédure "Rechercher" attend une variable que tu ne lui donnes pas, ou peut-être utilises-tu des variables dont la portée n'est pas bonne.
 

guy72

XLDnaute Impliqué
Bonjour,
Je travail toujours sur une copie de mon fichier.
Les trous se forment qu'au moment ou je récupère les données, et je ne récupère ces données jamais à ces heures là, (je suis parti me coucher ;)).
Je le fais le matin de bonheur et toutes les 2 ou 3 heures.
Mais je ne comprends toujours pas pourquoi ça me mets ce message :(

PS :modifier
Effectivement, je ne peux pas mettre directement à la suite la macro "Completer" car la sélection, n'est pas toujours la même (suivant le nombre de manques).

Donc, j'ai ajouter simplement le "Copier-Coller de la sélection en A2 à la macro "Rechercher" et maintenant, je n'ai plus qu'a supprimer toutes lignes en dessous de la sélection.

Y a-t-il une solution pour supprimer toutes les lignes sous la sélection sans aller chercher la dernière ligne ?
 
Dernière édition:

guy72

XLDnaute Impliqué
Dans la barre de tâches, il y a tous les icônes pour accès rapide.
Quand on passe sur une icône et qu'il y a des fichiers déjà ouvert, on, voit les petites fenêtres de ces fichierset quand les fenêtres s'affiche, il y a l'USF
Voici un exemple :
Là, la souris est sur le classeur vierge.
USF.jpg
 

TooFatBoy

XLDnaute Barbatruc
Chez moi il n'y a pas de miniature pour le USF, mais je suis sous Windows 7.
Mais est-ce bien grave d'avoir une miniature du USF dans la Barre des tâches ?


PS : tu as une touche "Imprime écran" ou "Print screen" sur ton clavier pour faire des copies d'écran. ;)
 

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 088
Membres
103 116
dernier inscrit
kutobi87