begin process at 2008 07 06 18:32:48
1 205 717 membres
280 nouveaux aujourd'hui
14 119 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

LECTURE DE TEXTBOX LIGNE PAR LIGNE ET ENREGISTREMENT DANS LES CELLULES D'UN FICHIER EXCEL .XLS


Information sur la source

Catégorie :VBA Classé sous : excel, vb, textbox, cellule Niveau : Débutant Date de création : 06/06/2005 Date de mise à jour : 22/05/2007 08:48:41 Vu : 9 632

Note :
3,5 / 10 - par 2 personnes
3,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

Description

ce programme crée un fichier excel copié à partir d'un model préenregistré, lit un textbox ligne par ligne et copie chacune de ces lignes dans une cellule du fichier excel créé.

Source

  • 'il faut rajouter Microsoft Excel 10.0 Object Library dans les references
  • 'déclaration de la chaine
  • Dim chaine As String
  • 'enregistrement de la chaine
  • chaine = Text1.Text
  • 'déclaration du tableau
  • Dim tableau() As String
  • 'lecture du textbox ligne par ligne avec pr caractere de séparation vbCrLf
  • tableau = Split(Text1, vbCrLf)
  • nbligne = 0
  • 'calcul du nombre de ligne
  • For j = 1 To Len(chaine)
  • If Mid(chaine, j, 1) = Chr(13) Then
  • nbligne = nbligne + 1
  • End If
  • Next j
  • 'déclaration des chaines d'adresse
  • Dim adresse As String
  • Dim Source As String
  • adresse = "C:\copie.xls"
  • Source = "C:\model.xls"
  • 'creation et copie du fichier copie
  • Set dossier = CreateObject("Scripting.FileSystemObject")
  • copier = dossier.copyfile(Source, adresse)
  • 'déclaration du systeme xls
  • Dim xls As excel.Workbook
  • Set xls = GetObject(adresse)
  • Dim ligneexcel As Integer
  • Dim cellule As String
  • ligneexcel = 1
  • For j = 0 To nbligne
  • 'composition des cellules pour la collone A
  • ligneexcel = ligneexcel + 1
  • cellule = Str(ligneexcel) 'cellule= " x" avec x le chiffre
  • Mid(cellule, 1, 1) = "A" 'remplace l'espace par la lettre de la collone
  • 'copie dans les cellules du fichier xls
  • With xls
  • .Worksheets(1).Range(cellule).Value = tableau(j)
  • End With
  • Next j
  • 'enregistrement du fichier
  • xls.Save
  • 'initialisation de la variable xls
  • Set xls = Nothing
    'il faut rajouter Microsoft Excel 10.0 Object Library dans les references
    'déclaration de la chaine
    Dim chaine As String
    'enregistrement de la chaine
    chaine = Text1.Text
    'déclaration du tableau
    Dim tableau() As String
    'lecture du textbox ligne par ligne avec pr caractere de séparation vbCrLf
    tableau = Split(Text1, vbCrLf)
    
    nbligne = 0
    
    'calcul du nombre de ligne
    For j = 1 To Len(chaine)
        If Mid(chaine, j, 1) = Chr(13) Then
            nbligne = nbligne + 1
        End If
    Next j
    
    'déclaration des chaines d'adresse
    Dim adresse As String
    Dim Source As String
    
    adresse = "C:\copie.xls"
    Source = "C:\model.xls"
    
    'creation et copie du fichier copie
    Set dossier = CreateObject("Scripting.FileSystemObject")
    copier = dossier.copyfile(Source, adresse)

    'déclaration du systeme xls
    Dim xls As excel.Workbook
    
    Set xls = GetObject(adresse)
    
    Dim ligneexcel As Integer
    Dim cellule As String
    ligneexcel = 1
    
    For j = 0 To nbligne
    
    'composition des cellules pour la collone A
        ligneexcel = ligneexcel + 1
        cellule = Str(ligneexcel) 'cellule= " x" avec x le chiffre
        Mid(cellule, 1, 1) = "A" 'remplace l'espace par la lettre de la collone
        
    'copie dans les cellules du fichier xls
        With xls
            .Worksheets(1).Range(cellule).Value = tableau(j)
        End With
    
    Next j
    
    'enregistrement du fichier
    xls.Save
    
    'initialisation de la variable xls
    Set xls = Nothing

Conclusion

pour l'instant ce code fonctione en entreprise depuis un bon moment donc si vous trouvez un bug faites le moi savoir car je ne veut pas de problemes avec l'entreprise
merci
22 mai 2007 08:48:41 :
Ajout de commentaire pour mieux expliquer l'application du code
  • signaler à un administrateur
    Commentaire de liquide le 06/06/2005 13:14:35

    Salut j'ai un gros doutes la !!!

    As tu essayer de comparer le ubound(tableau) et ...........
    ............'calcul du nombre de ligne
        For j = 1 To Len(chaine)
            If Mid(chaine, j, 1) = Chr(13) Then
                nbligne = nbligne + 1
            End If
        Next j

  • signaler à un administrateur
    Commentaire de liquide le 06/06/2005 13:27:38

    Franchement je ne comprend pas cette déclaration :
    #####################
    'composition des cellules pour la collone A
            ligneexcel = ligneexcel + 1
            cellule = Str(ligneexcel) 'cellule= " x" avec x le chiffre
            Mid(cellule, 1, 1) = "A" 'remplace l'espace par la lettre de la collone
    'copie dans les cellules du fichier xls
            With xls
                .Worksheets(1).Range(cellule).Value = tableau(j)
            End With
    ######################

    J"aurais plutot vu un style :
    dim TextCol as string
    For j = lbound(tableau) To ubound(tableau)
    textcol = "A" & str(val(j+2)) 'apparement tu as toujours un décalage de 2 par rapport a "j"
        'copie dans les cellules du fichier xls
            With xls
                .Worksheets(1).Range(textcol).Value = tableau(j)
            End With
    Next j

    ---- le tout , si j'ai bien interprété ton code

  • signaler à un administrateur
    Commentaire de briendjf le 04/11/2006 21:21:39

    Avez vous pu tester ce code dans l'environnement Visual Basic 2005 ?
    Connaissez vous les modifications à apporter ?
    Merci par avance !

  • signaler à un administrateur
    Commentaire de spluiss le 22/05/2007 08:53:41

    Tout d'abord désolé cela fait longtemps que je ne reçoit pas de nouvelle de ce code...

    La version VB2005 doit etre VB.net, pour le moment je n'ai pas eu le temps de l'etudier donc je ne sais pas si il y a des modification a effectuer... vb a alors profondemment changé, je pense qu'il y a des modifications en effet...

    J'espere que vous pourrez y parvenir desolé de ne pas pouvoir vos aider

    Spluiss

  • signaler à un administrateur
    Commentaire de spluiss le 22/05/2007 08:58:38

    Salut liquide

    J'ai utilisé cette commande car dans mon code, la ligne est recupéré d'une text boxe, aussi avec la fonction str ou val (je ne sais plus) il ajoute un espace devant le text de la textbox, il faut donc le supprimer ou le remplacer part la lettre colonne... le meme probleme m'est apparu lorsque j'allais chercher des text indexé par un chiffre, ces fichier devait s'appeler "t 1.txt" et non "t1.txt" pour la meme raison, mais je pense que ton code semble convenir merci pour ce commentaire...

    A bientot

    Sylvain

Ajouter un commentaire

Pub



Appels d'offres

WEB DESIGN
Budget : 1 000€
Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS