Erreur lors de l'importation de données
Résolu
Doom07
Messages postés
9
Statut
Membre
-
Doom07 Messages postés 9 Statut Membre -
Doom07 Messages postés 9 Statut Membre -
Bonjour à tous !
Voilà, si je suis ici, c'est que j'ai un léger souci de programmation...
Voici mon problème : je cherche à faire une macro scrutant la ligne 5 allant de F jusqu'à HA. Sur cette ligne, j'ai des cellules vides et des cellules pleines alternées de manière aléatoire (parfois 3 cellules vides de suite, parfois 13...). J'aimerais que pour chaque cellule pleine, une macro importe des données relatives au résultat de cette cellule (ça j'y arrive). Le problème étant lorsque j'arrive sur une cellule vide. Ne reconnaissant pas le résultat, il refuse d'ouvrir le fichier demandé. Alors ma question est simple : existe-t-il un moyen ou une condition pour éviter que ma macro s'exécute lorsqu'une cellule vide est rencontrée ? Pour info' et le bon fonctionnement de mon tableau, je ne peux pas supprimer les colonnes où il y a une cellule vide. Comment faire donc ?
Je vous remercie d'avance du temps que vous consacrerez à mon problème.
Bonne journée !
Voilà, si je suis ici, c'est que j'ai un léger souci de programmation...
Voici mon problème : je cherche à faire une macro scrutant la ligne 5 allant de F jusqu'à HA. Sur cette ligne, j'ai des cellules vides et des cellules pleines alternées de manière aléatoire (parfois 3 cellules vides de suite, parfois 13...). J'aimerais que pour chaque cellule pleine, une macro importe des données relatives au résultat de cette cellule (ça j'y arrive). Le problème étant lorsque j'arrive sur une cellule vide. Ne reconnaissant pas le résultat, il refuse d'ouvrir le fichier demandé. Alors ma question est simple : existe-t-il un moyen ou une condition pour éviter que ma macro s'exécute lorsqu'une cellule vide est rencontrée ? Pour info' et le bon fonctionnement de mon tableau, je ne peux pas supprimer les colonnes où il y a une cellule vide. Comment faire donc ?
Je vous remercie d'avance du temps que vous consacrerez à mon problème.
Bonne journée !
A voir également:
- Erreur lors de l'importation de données
- Votre appareil ne dispose pas des correctifs de qualité et de sécurité importants - Guide
- Supprimer les données de navigation - Guide
- Trier des données excel - Guide
- Reinstaller windows sans perte de données - Guide
- Liste de données excel - Guide
2 réponses
Salut Zoul67.
J'ai tenu compte de ta remarque et j'ai essayé de l'appliquer. Le seul hic est que la macro tourne en boucle sans que rien ne se passe. Je visualise à peu près où se situe l'erreur mais je ne sais pas comment la réparer. Je mets ci-dessous le code que j'ai pour l'instant écrit :
J'ai tenu compte de ta remarque et j'ai essayé de l'appliquer. Le seul hic est que la macro tourne en boucle sans que rien ne se passe. Je visualise à peu près où se situe l'erreur mais je ne sais pas comment la réparer. Je mets ci-dessous le code que j'ai pour l'instant écrit :
Sub macro_de_merde() Chemin = "F:\SPECFG\NOUVFORM\PREPA\" OngSour = "PROD" FichDest = ActiveWorkbook.Name OngDest = ActiveSheet.Name Range("A18:D100").ClearContents Range("F18:BC100").ClearContents ' xx est la colonne du fichier destinataire xx = 5 Do xx = xx + 1 Mix = Workbooks(FichDest).Sheets(OngDest).Cells(5, xx).Value VolumeMix = Workbooks(FichDest).Sheets(OngDest).Cells(8, xx).Value Dim CellulesVides As Range For Each CellulesVides In Range("F5:HA5") If CellulesVides <> "" Then FichSour = Mix & ".xls" Else ' L'erreur est probablement dans cette boucle Do xx = xx + 1 Loop Until Mix <> "" End If Next Workbooks.Open Filename:=Chemin & FichSour, UpdateLinks:=0 Workbooks(FichDest).Activate End Sub
Re,
C'est casse-gueule de naviguer entre plusieurs fichiers Excel par macro. Tu ne peux pas plutôt utiliser des fonctions pour aller chercher les données dans les fichiers qui vont bien ?
Sinon le principe c'est plutôt (après les ClearContents) :
A+
C'est casse-gueule de naviguer entre plusieurs fichiers Excel par macro. Tu ne peux pas plutôt utiliser des fonctions pour aller chercher les données dans les fichiers qui vont bien ?
Sinon le principe c'est plutôt (après les ClearContents) :
For col=6 to 209 '(Fà HA)
If Workbooks(FichDest).Sheets(OngDest).Cells(5, col).Value<>""
.
.
.
Else
.
End If
Next col
A+
J'en conviens, j'en conviens... J'ai également pensé aux fonctions mais la configuration des données fait que c'est très compliqué à appliquer. J'ai donc eu recours à des macros pour pouvoir solutionner mon problème mais je suis tout à fait d'accord avec toi pour dire que c'est bancale... M'enfin bon... En attendant, je voulais te dire un IMMENSE merci pour ta solution proposée. Après 1h d'efforts pour l'appliquer à mon document, ça fonctionne nickel ! Bravo !
Bonne journée !
Bonne journée !