Bonjour à tous,
Présentation globale (peut être zappé):
Voila je suis actuellement sur un petite application VBA qui permet à l'utilisateur celon un critère (plage de Date) de récupérer un fichier CSV qui se compose comme ci dessous :
<Header> 16 lignes
<UX> 43 lignes
<UE> 50 lignes </UE>
</UX>
</Header>
Sachant que un HEADER peux contenir plusieurs UX, et que un UX peux contenir plusieurs UE
Vous tenez le coup ?
Pour cela l'application en caché suis le traitement suivant :
-Connexion en ODBC à la base de donnée
-Exécute la requête
-Pour chaque ligne de l'extraction regarde si c'est un HEADER, UX ou UE (en feuille 2 par exemple)
-Puis le place sur la feuille 1, a raison de un header par ligne
Si vous avez réussi à comprendre, je vous en re-merci sinon désolé
Le problème :
Quand je parcour ma feuille en VBA, j'utilise le code suivant :
Le soucis survient dès que la variable colone = 52 soit juste après "AY" car au lieu de passer à "AZ" je passe à "B@"
si j'ajoute +2 à ma variable colone alors je passe à "BA"
Vu que la manipulation est répétée jusqu’à un maximum de 50 UE dans un UX (voir description globale) peut-on remplacer cette valeur ? dans l'exemple cité ci-dessus "B@" par "AZ" mais aussi dans les autres cas "C@" par "BZ" etc...
En vous remerciant d'avoir lu, et tenter de me comprendre, Cordialement
Présentation globale (peut être zappé):
Voila je suis actuellement sur un petite application VBA qui permet à l'utilisateur celon un critère (plage de Date) de récupérer un fichier CSV qui se compose comme ci dessous :
<Header> 16 lignes
<UX> 43 lignes
<UE> 50 lignes </UE>
</UX>
</Header>
Sachant que un HEADER peux contenir plusieurs UX, et que un UX peux contenir plusieurs UE
Vous tenez le coup ?
Pour cela l'application en caché suis le traitement suivant :
-Connexion en ODBC à la base de donnée
-Exécute la requête
-Pour chaque ligne de l'extraction regarde si c'est un HEADER, UX ou UE (en feuille 2 par exemple)
-Puis le place sur la feuille 1, a raison de un header par ligne
Si vous avez réussi à comprendre, je vous en re-merci sinon désolé
Le problème :
Quand je parcour ma feuille en VBA, j'utilise le code suivant :
Code:
colone = colone + 1 'Le numero de colone
NumCol = Cells(ligne, colone).Column
lettre = IIf(NumCol > 26, Chr(64 + NumCol \ 26) & Chr(64 + NumCol Mod 26), Chr(64 + NumCol))
newcell = lettre & ligne
ActiveWorkbook.Sheets("CSV").Range(newcell).Value = "$null"
Le soucis survient dès que la variable colone = 52 soit juste après "AY" car au lieu de passer à "AZ" je passe à "B@"
si j'ajoute +2 à ma variable colone alors je passe à "BA"
Vu que la manipulation est répétée jusqu’à un maximum de 50 UE dans un UX (voir description globale) peut-on remplacer cette valeur ? dans l'exemple cité ci-dessus "B@" par "AZ" mais aussi dans les autres cas "C@" par "BZ" etc...
En vous remerciant d'avoir lu, et tenter de me comprendre, Cordialement
Dernière édition: