Communauté Fb
Follow us on twitter
Les vidéos du site
Le site complément
Dépannage de votre PC

Programmer en vb

Bonjour et bienvenue,

Programmer en VB est le site qui vous fera prendre conscience que vous pouvez concevoir votre programme informatique vous-même, que vous soyez artisan, employé ou étudiant.

Le Visual Basic est un langage informatique très puissant, très flexible et très abordable.
Une version en application se trouve sous Office
Excel pour exemple :
Tapez Alt + F11 à l’aide de votre clavier puis vous voilà dans l’éditeur de code VBA.

Notre forum d’entraide vous offre des tutoriels ainsi que divers exemples tout prêt à adapter à votre projet personnel.
Nous vous demandons uniquement de la bonne humeur et de la bonne volonté pour toutes questions ou toutes aides quelle qu’elle soit.
Sachez que pour progresser rapidement il est conseillé d’aider au mieux les autres membres.
Nous ne sommes pas là pour juger les qualités ou défauts de codes proposés, mais pour trouver ensemble la solution à votre demande.

A vos claviers :

Afin de remplir le forum, nous vous demandons de partager sur les réseaux sociaux et autres.
https://www.facebook.com/AdminPVB/


Merci de nous rejoindre sur http://programmer-en-vb.forumactif.org/
Merci d'avoir pris le temps de lire.
Merci pour votre inscription.

L'équipe de Programmer-en-VB

Forum de programmation VBA et VB.NET

Welcome if you does not speak french,you are able to translate the whole topics with the flags just below of this message. Click to English

Visual Basic Application et VB.net de puissants langages à la portée de tous.

Participez et soyez acteurs des divers forums ci-dessous.

Bienvenue à chaque nouveaux membres et merci à tous ceux qui font vivre ce forum.


Qui est en ligne ?

Il y a en tout 8 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 8 Invités

Aucun


Le record du nombre d'utilisateurs en ligne est de 65 le Mar 8 Juil - 23:40

Statistiques

Nos membres ont posté un total de 4880 messages dans 597 sujets

Nous avons 453 membres enregistrés

L'utilisateur enregistré le plus récent est esteban361

Recherche dans les forums

Utiliser cette méthode afin de trouver rapidement les discussions disponible sur notre forum.


Utiliser le bouton résolu

Dans votre message d'origine
cliquer sur le bouton



Ensuite tout en bas sur
Modifier le titre du sujet
cliquer sur le bouton

Résolu !!!

Ensuite changer l’icône du sujet par le bouton

Voilà pas plus compliqué que cela.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Partenaires


créer un forum



Annuaire referencement


Flux RSS


MSN 

Juillet 2017

LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
31      

Calendrier Calendrier

Obtenir le volume sonore enregistré par le micro

Sam 10 Sep - 13:29 par Nayl.VBcoder

Bonjour,

Je cherche à avoir le volume sonore de la pièce en temps réel, et l'afficher dans une ProgressBar.
Je ne vois pas comme plus décrire mon problème.

Merci de vos réponses.

Petits bidouillages pour ce faciliter La vie ,Astuces et codes pratique

Dim 11 Juin - 12:20 par Berly

Bonjour le Forum  Very Happy.

Lorsque j'écrivais dans mon code Console.Writeline ("Patati,Patata,......) ,j'ai d'abord utilisé le copié collé en changeant la valeur du texte .

Bon d'accord ,c'est bien mais ,ça me saoul un peu ,au fur et a mesure de mes apprentissages ,j'ai découvert les fonctions  Very Happy.

Maintenant je partage celle ci avec vous .

On est la sur un exemple de code en "Mode …

[ Lecture complète ]
Utilisation d'un objet son (Wav)

Jeu 18 Mai - 21:48 par Berly

Bonjour le forum 

Voila , je voudrais savoir si on peut créer un tableau d'objets son.
Difficile de trouver ce genre d'information .

Les sons  sont intégrés en ressources programme.

Merci  Very Happy
Code:
[Module Module1
    Dim son1 = New System.Media.SoundPlayer(My.Resources._0283)
    Dim son2 = New System.Media.SoundPlayer(My.Resources._0863)
    Dim son3 = New …


[ Lecture complète ]
Application

Lun 15 Mai - 19:02 par Berly

Bonjour le forum

Souci dans une nouvelle application.

Total des énoncés =3

Ecriture de l'énoncé 1 dans un Textbox.

Je voulais créer plusieurs problèmes différents.
Dons pour cela j'ai créé 3 sub  Laughing.

Lors de l'événement clic sur le bouton créé pour visualiser le premier énoncé celui ci s'affiche correctement Very Happy .
Suite a cela l'utilisateur donne le résultat ,et un Msgbox …

[ Lecture complète ]
Ressource Vb.net

Ven 5 Mai - 22:29 par Berly

Bonsoir le forum

Toujours a la recherche de ressources ,je partage avec vous une nouvelle ressource  Wink.

Bonne lecture .

https://vbnetpourtous.wordpress.com/2012/12/13/les-variables/

Incorporation d' un Label Nombre de questions et un autre pour le Score,application scolaire

Ven 5 Mai - 21:23 par Berly

Bonsoir le forum

Je viens vers vous ,pour une petite aide.

Voila c'est une application scolaire Tables de multiplications Windows form.

Pour les connaisseurs ,vous comprendrez par le code la construction.

J'aimerai pouvoir incorporer a cette application deux choses .

Un label pour afficher un score.

Un autre label pour afficher le nombre de questions.

A savoir que j'ai inclus dans cette …

[ Lecture complète ]
archiver un classeur

Dim 30 Avr - 10:22 par medjsk

SALUT TOUT LE MONDE

d'abord je vous informe que je comprend pas vraiment VBA excel
et j'ai un problème dans mon fichier ci-joint
lorsque j’archive (bouton archiver) il m'affiche une erreur !!!
si vous pouvez m'aider.merci d'avance

mes salutations

Fichiers joints
Copie de FORMULAIRE-REQUETE.xlsm
Vous n'avez pas la permission de télécharger les fichiers joints.
(218 Ko) Téléchargé 8 fois
If / end if incomprehension

Mer 11 Jan - 14:18 par Silux

Bonjour,

j'ai fait des petits tuto pour certains collègues, hier encore tout fonctionnait et aujourd'hui plantage incompréhensible :

tout bête :

Sub total()

Cells(1, 5).Value = ""
Cells(1, 5).Value = Cells(1, 1).Value * Cells(1, 2).Value * Cells(1, 3).Value * Cells(1, 4).Value

resultat = Cells(1, 5).Value
Cells(2, 1).Value = resultat

        If Cells(1, 1).Value < 25 Then Cells(1, 1).Interior.Color = 255
      


[ Lecture complète ]
Enregistrement dans une base

Mar 1 Nov - 10:55 par La boc

Bonjour à tous et toutes, me revoilà pour une petite question.

J'ai utilisé il y a quelque années VB 2010 avec une base de données sans problème.

Je suis sous W10 64 bit avec Visual studio express 2015 et je tente de faire la même chose mais impossible d'enregistrer dans la base et je ne comprends pas où est mon erreur. Si une âme charitable pouvez éclairer ma lanterne ça serait …

[ Lecture complète ]

importation depuis fichier txt

Partagez
avatar
cathodique

Localisation : Montreuil
Messages : 7
Date d'inscription : 05/03/2014

Résolu importation depuis fichier txt

Message par cathodique le Ven 7 Mar - 17:45

Bonjour,

Voilà en effectuant une importation depuis un fichier txt, je me suis rendu compte qu'il y avait des espaces dans les cellules si les valeurs sont du texte.

Donc mon astuce est toute simple, j'ai utilisé la fonction TRIM jusque là c'est bon.
Code:
Option Explicit
Sub Mise_à_jour_BD_mesures()
Dim NomDossier$, Chemin$, Fichier$, NomFichier$, repert$
Dim bd As Object
Dim DerLig As Long, i As Long, j As Long, DerCol As Integer
Dim Tb, RES()

Set bd = Sheets("BD") 'définit l'onglet bd

NomDossier = "Archive BD"
NomFichier = "Archive BD Mesures" & ".txt"
Chemin = ThisWorkbook.Path
ChDir Chemin 'se place sur le repertoire du programme
repert = Chemin & "\" & NomDossier
ChDir repert

Fichier = repert & "\" & NomFichier
If Dir(Fichier) <> "" Then

If MsgBox("ATTENTION OPERATION IRREVERSIBLE!" & Chr(10) & Chr(10) & _
"VOULEZ-VOUS EFFACER ET REMPLACER LA BASE DE DONNEES ACTUELLE?", vbYesNo) = vbNo Then GoTo suite:

With bd
 '   .Visible = True
    .Activate
    .Unprotect
    Selection.CurrentRegion.Select
    Selection.ClearContents
    
    With bd.QueryTables.Add(Connection:= _
        "TEXT;" & Fichier, Destination:=Range("$A$1"))
        .Name = "Archive BD Mesures"
        .TextFileSemicolonDelimiter = True 'False
        .Refresh BackgroundQuery:=False
    End With


'suppression des espaces
Application.EnableEvents = False
Application.ScreenUpdating = False
On Error Resume Next

    DerCol = .Range("A1").End(xlToRight).Column
    DerLig = .Cells(.Rows.Count, 1).End(xlUp).Row
    Tb = .Range("A2:AA" & DerLig)
  
    For i = 1 To DerLig - 1
                j = j + 1
            'On redimensionne notre tableau Resultat (12 lignes et j colonnes) Res sera transposé à la fin
            'car on ne peut redimenssionner que la dernière dimension
            ReDim Preserve RES(1 To 27, 1 To j)
            'Le compteur est inscrit en 1ère ligne
            RES(2, j) = j       'No
            'on fait une petite boucle
            RES(1, j) = Trim(Tb(i, 1))  'typeouv
            RES(3, j) = Tb(i, 3)        'date
            RES(4, j) = Trim(Tb(i, 4))   'OUVRAGE
            RES(5, j) = Trim(Tb(i, 5))   'tronçon
            RES(6, j) = Trim(Tb(i, 6))   'diametre
            RES(7, j) = Tb(i, 7)           'PK
            RES(8, j) = Trim(Tb(i, 8))    'type
            RES(9, j) = Tb(i, 9)    'Eon
            RES(10, j) = Tb(i, 10)  'Eoff
            RES(11, j) = Trim(Tb(i, 11))   'voisin
            RES(12, j) = Tb(i, 12)   'pk voisin
            RES(13, j) = Tb(i, 13)   'Eon voisin
            RES(14, j) = Tb(i, 14)   'Eoff voisin
            RES(15, j) = Tb(i, 15)   'I COURANT
            RES(16, j) = Trim(Tb(i, 16))   'DIRECTION
            RES(17, j) = Trim(Tb(i, 17))   'observation
            RES(18, j) = Trim(Tb(i, 18))   'type campagne
            RES(19, j) = Trim(Tb(i, 19))   'POSTES
            RES(20, j) = Tb(i, 20)          'TENSION
            RES(21, j) = Tb(i, 21)          'COURANT
            RES(22, j) = Trim(Tb(i, 22))   'SITE
            RES(23, j) = Trim(Tb(i, 23))   'PK POSTE
            RES(24, j) = Trim(Tb(i, 24))   'NOM1
            RES(25, j) = Trim(Tb(i, 25))   'NOM2
            RES(26, j) = Trim(Tb(i, 26))   'NOM3
            RES(27, j) = Trim(Tb(i, 27))   'NOM4
          
    Next i
    'on efface la plage de Calcul
    If DerLig > 1 Then .Range("A2:AA" & DerLig).Clear
    'on transfère le transposé de Res
    If j > 0 Then .Range("A2").Resize(j, 27) = Application.Transpose(RES)
      
Sheets("MENU").Activate
.Protect
'.Visible = False

End With
        MsgBox "BD mise à jour!", vbInformation
    Else
        MsgBox "Le fichier de mise à jour n'existe pas!" & vbLf & vbLf & "Mettez le fichier dans le dossier " _
        & NomDossier & vbLf & vbLf & "ensuite relancer a mise à jour.", vbExclamation
            Exit Sub
    End If
suite:
 'ActiveWorkbook.Connections("Archive BD Prises").Delete

Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

Mais ce qui me dérange un peu, c'est qu'à l'ouverture du fichier en plus de l'invite d'activation des macros, il y a aussi la confirmation de la source des données externes.

J'ai lu qu'on pouvait extraire des données de fichiers fermés mais vu mon faible niveau, je sais que je ne vais pas m'en sortir.

Donc auriez-vous une solution plus adaptée? J'ai essayé de rompre la connexion à la fin du code, mais ma macro ne fonctionne plus (Bug sur ligne With bd.QueryTables.Add).

En vous remerciant par avance. en PJ dossier contenant fichier+image+fichier txt

Cordialement,
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1786
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: importation depuis fichier txt

Message par AdminPVB le Ven 7 Mar - 19:45

Bonsoir,
merci pour cette première question,
le dossier contenant les fichiers test et image ne semble pas être passé,serait il possible de le mettre,
Tu peux faire un tour en haut à droite sur le dépôt de fichier également réservé aux membres,
en mettant ton username un dossier sera créer sur un serveurpour le stockage des fichiers.
voir ici
la ligne que tu parles est celle ci ?
Code:
'ActiveWorkbook.Connections("Archive BD Prises").Delete
Aussi est ce que dans le thisworkbook avec ce code ça fonctionne ?
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
 Application.DisplayAlerts = True
End Sub

Private Sub Workbook_Open()
Application.DisplayAlerts = False
End Sub

A+


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
cathodique

Localisation : Montreuil
Messages : 7
Date d'inscription : 05/03/2014

Résolu Re: importation depuis fichier txt

Message par cathodique le Ven 7 Mar - 21:20

Bonsoir,

Merci pour le retour. Dans ce fichier, je n'avais rien mis comme dans thisworkbook.

J'ai donc mis le code que tu m'as proposé dans thisworkbook, j'ai enlevé l'apostrophe de la ligne qui doit en principe supprimer la connexion aux données externes.
Code:
   ActiveWorkbook.Connections("Archive BD Mesures").Delete
'désolé une erreur s'était glissée au lieu de prises c'est mesures
Mais elle ne supprime pas la connexion, ou plutôt les connexions car il y en a plusieurs à chaque exécution un indice est ajouté à la fin de Archive BD Mesures, Archive BD Mesures1, Archive BD Mesures2, etc autant de fois que j'ai effectué de mise à jour.

Même en les supprimant manuellement, elles réapparaissent à la réouverture du fichier, je n'y comprends rien.

J'ai pensé qu'en supprimant la connexion aux données externes, à l'ouverture du fichier n'avoir que l'invite d'activation des macros mais j'ai aussi la confirmation de la connexion. c'est ce que je voudrais aussi contourner.

N'est-ce pas dû à mon fichier texte créé par macro? En fouinant un peu plus, sur le sujet, j'ai trouvé un code qui semble ne pas rajouter des espaces. J'essaie d'adapter et te mets au courant.

Merci beaucoup et bonne soirée.

Cordialement,
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1786
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: importation depuis fichier txt

Message par AdminPVB le Sam 8 Mar - 11:06

Bonjour,
pour commencer avec le code
voici un exemple de lecture de fichier .text sans avoir besoin de l'ouvrir
pour cela il faut impérativement activer la référence Microsoft scripting runtime.
ensuite voici le code (pour exemple)
Code:
Sub lire_ds_fichier_txt()
Dim FSO As Scripting.FileSystemObject
Dim FILE As Scripting.FILE
Dim TXT As Scripting.TextStream
Dim i As Integer 'incrémentation de ligne
Set FSO = New Scripting.FileSystemObject
Set FILE = FSO.GetFile("C:\Users\PAPA\Documents\Mes fichiers reçus\monfichier.txt")
Set TXT = FILE.OpenAsTextStream(ForReading)
Range("A1").Select
With TXT
    While Not .AtEndOfStream
    ActiveCell.Offset(0, i).Value = Trim(.ReadLine)
    i = i + 1
    Wend
End With
TXT.Close
End Sub
A bientôt.


Dernière édition par Fhoest™ le Sam 8 Mar - 12:09, édité 1 fois (Raison : Ajout de TXT.close dans le code pour fermer le fichier ouvert.)


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
cathodique

Localisation : Montreuil
Messages : 7
Date d'inscription : 05/03/2014

Résolu Re: importation depuis fichier txt

Message par cathodique le Sam 8 Mar - 13:03

Bonjour,

Je te remercie pour ton code, je pense que c'est un fil à exploiter. ça tombe bien, car dans mon fichier original la référence Microsoft scripting runtime est activée dans thisworkbook_open pour les besoins d'une macro à laquelle je n'ai pas compris grand chose mais fait parfaitement le boulot.

Mais bon, ce n'est pas notre sujet. J'ai adapté le chemin et le nom du fichier, c'est très rapide mais le résultat sur la feuille n'est pas bon. je dois avoir 27 colonnes et 113 lignes (par rapport aux données qui se trouvent dans le fichier txt).

Il se trouve que des données sont récupérées sur la première ligne et dans chaque cellule il y a les données de toute une ligne du fichier txt.

Vu mon niveau je ne vois pas comment avoir sur ma feuille 113 lignes x 27 colonnes. Voici le code que j'utilise pour créer le fichier TXT
Code:
Sub CréerFichier_txt_BD_Mesures()
'''''''''''''''''''''''''''''''''''''
Dim NomDossier As String, Chemin As String, Fichier As String, NomFichier As String
Dim i, j, DerLig As Long, DerCol As Integer, F As Object

Set F = Worksheets("FBD")
-----------------------------------
NomDossier = "Archive des BD"
NomFichier = "Archive BD Mesures" & ".txt"
Chemin = ThisWorkbook.Path
 
ChDir Chemin 'se place sur le repertoire du programme
 
If Dir(Chemin & "\" & NomDossier, vbDirectory) = "" Then
    MkDir Chemin & "\" & NomDossier
End If

repert = Chemin & "\" & NomDossier
ChDir repert

Fichier = repert & "\" & NomFichier

If Dir(Fichier) = "" Then GoTo suite:
'==========================
Application.ScreenUpdating = False  'Fige l'écran (évite les mvt d'écran)
'On Error Resume Next
SetAttr Fichier, vbNormal
suite:
    Open Fichier For Output As #1  'Tu crées le fichier text
With F
        .Visible = True
        .Select 'Activate
        .Unprotect xy  '   Worksheets(FeuilleAcopier).Select
  
DerLig = .Cells.Find("*", , , , xlByRows, xlPrevious).Row    'Dernière ligne renseignée
DerCol = .Cells.Find("*", , , , xlByColumns, xlPrevious).Column  'Dernière colonne renseignée

'La lecture des cellules commence en A1 dans chaque feuille de calcul
        For i = 1 To DerLig
            For j = 1 To DerCol - 1
               Print #1, Cells(i, j).Value, ";";  'ici, le séparateur
            Next j
            Print #1, Cells(i, j + 1).Value ' ici pas de séparateur pr le saut de ligne
        Next i
  ''''''''''''''''''''''''''''''''''''''''''''''''
 '.Protect xy
 '.Visible = False
 End With
 
       Close #1
    SetAttr Fichier, vbReadOnly
        
End Sub
Le problème réside peut-être à ce niveau.

Merci beaucoup.
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1786
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: importation depuis fichier txt

Message par AdminPVB le Sam 8 Mar - 13:40

Bonjour,
je ne pense pas que le problème vient du remplissage ,pour la lecture il faut simplement s'adapter au mode de remplissage,c'est à dire passer par un tableau comme cela est fait dans ton premier code (il est d'ailleurs bien fait on utilise un redimensionnement par rapport au nombre de colonne.)
ma question pour adapter
est il possible de joindre un fichier texte exemple avec la même structure que celui qu'il faut lire ,bien sur sans les données confidentielles.
avec une explication du résultat souhaité, je tenterai après de faire le reste.
A bientôt.


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
cathodique

Localisation : Montreuil
Messages : 7
Date d'inscription : 05/03/2014

Résolu Re: importation depuis fichier txt

Message par cathodique le Sam 8 Mar - 14:21

Re Fhoest,

Merci pour ton retour, si tu as décompressé mon zip, le fichier texte se trouve dans le dossier "Archive BD" et se nomme "Archive BD Mesures.txt".
.
Encore merci pour ton aide. Je poursuis mes recherches.

Cordialement,
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1786
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: importation depuis fichier txt

Message par AdminPVB le Sam 8 Mar - 17:03

cathodique a écrit:Re Fhoest,

Merci pour ton retour, si tu as décompressé mon zip.
Bonjour,
oui je voudrai bien mais comme préciser plus haut le zip n'est pas sur le fil,donc je ne peux le décompresser,
peut être est il > a la taille,
tu peux le joindre par le dépôt de fichier.(ne haut à droite du forum puis copier le lien.
A bientôt.


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1786
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: importation depuis fichier txt

Message par AdminPVB le Sam 8 Mar - 19:18

Bonsoir,
pour info par rapport à l'image déposé ici
il faut ouvrir le centre de confidentialité, ensuite allez dans contenu externe et choisir l'option souhaité.
le dossier cathodique est maintenant accessible.
A bientôt.


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1786
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: importation depuis fichier txt

Message par AdminPVB le Sam 8 Mar - 21:22

Bonsoir,
voici le code que je propose:
Code:
Sub lire_ds_fichier_txt()
Dim FSO As Scripting.FileSystemObject
Dim FILE As Scripting.FILE
Dim TXT As Scripting.TextStream
Dim i As Integer 'incrémentation de ligne
Dim j As Integer 'incrémentation de colonne
Dim tableau(0 To 1000)
Dim tempo

Set FSO = New Scripting.FileSystemObject
Set FILE = FSO.GetFile(ActiveWorkbook.Path & "\Archive des BD\Archive BD Mesures.txt")
Set TXT = FILE.OpenAsTextStream(ForReading)

With TXT
    While Not .AtEndOfStream
    i = i + 1
    tableau(i) = Split(Trim(.ReadLine), ";")
    Wend
End With
TXT.Close
'écriture sur le fichier
On Error GoTo fin
For i = LBound(tableau) + 1 To UBound(tableau)
For j = 0 To UBound(tableau(i))
Range("A2").Offset(i - 1, j) = tableau(i)(j)
Next
Next
fin:
End Sub
A bientôt.


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1786
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: importation depuis fichier txt

Message par AdminPVB le Dim 30 Mar - 21:48

Bonjour,

A bientôt.


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
cathodique

Localisation : Montreuil
Messages : 7
Date d'inscription : 05/03/2014

Résolu Re: importation depuis fichier txt

Message par cathodique le Jeu 17 Avr - 20:29

Bonjour Fhoest,

Voilà, tes investigations ont porté leur fruit. Aujourd'hui, mon "antimalware" est sage comme une image, il n'a pas détecter de flux sortant.

Mais revenant à notre sujet, je tiens à te remercier pour ta persévérance et ta proposition.

C'est à peu près le même résultat. Les nombres entiers et les dates sont correctes, les nombres décimaux sont du texte (petit triangle dans le coin gauche de la cellule), tout ce qui est du texte --> il y a des espaces à droites. ça pourrait convenir si je n'utilisais une userform pour récupérer ces données (elles ne s'affichent pas dans les combobox et tetxtebox)

Merci beaucoup.

Bonne soirée et bonne continuation.

Cordialement,
avatar
phoenixordi
Modérateur
Modérateur

Localisation : sarthe
Messages : 317
Date d'inscription : 24/05/2013
Age : 50

Résolu Re: importation depuis fichier txt

Message par phoenixordi le Jeu 17 Avr - 22:45

bonsoir,

Voilà, tes investigations ont porté leur fruit. Aujourd'hui, mon "antimalware" est sage comme une image, il n'a pas détecter de flux sortant.
mes investigations sur demande de FHOEST Wink(si problèmes de sécurité me demander personnellement Wink)
pour le problème de décimaux pensez au petit
Code:
Range("A2").Offset(i - 1, j) = tableau(i)(j)*1
qui va bien dans l'importation de donnée texte à convertir en décimales Wink
et pour rappel :
combobox pour tout

textbox que pour du texte


Dernière édition par phoenixordi le Ven 18 Avr - 23:32, édité 1 fois


_________________
Cordialement
phoenixordi
https://www.facebook.com/phoenixordi?ref=bookmarks

avatar
cathodique

Localisation : Montreuil
Messages : 7
Date d'inscription : 05/03/2014

Résolu Re: importation depuis fichier txt

Message par cathodique le Ven 18 Avr - 10:05

Bonjour,

Pour les demandes, c'est noté.

Pour les décimaux, tu me dis de penser au *1. OK mais où dois-je le mettre.

L'autre question concernant toutes les données "texte", pourquoi il y a à droite du texte des espaces non visibles.

Je t'avais dit que je doute que ça soit dû au code qui sauvegarde au format csv.

Bon te libérer, je vais clore cette discussion.

Je te remercie beaucoup.

Contenu sponsorisé

Résolu Re: importation depuis fichier txt

Message par Contenu sponsorisé


    La date/heure actuelle est Sam 22 Juil - 0:42