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
- Liste de données excel - Guide
- Sauvegarde des données - 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 !