Aide pour deux applications VBA _Excel

crapu Messages postés 7 Date d'inscription vendredi 16 juin 2006 Statut Membre Dernière intervention 28 décembre 2006 - 27 nov. 2006 à 21:48
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 - 28 déc. 2006 à 16:06
http://www.vbfrance.com/codes/MANIPULATION-EXCEL-SOUS-VB_6101.aspx# Bonjour,
Je suis de la Roumanie et donc je m'excuse pour les eventuelles erreurs de grammaire.
J'ai pas trop de connaissances sur le VB, mais, a l'aide de quelques livres, j'ai essaye quelques applications simples. J'ai rencontre les suivantes difficultes:
1. pour une premiere application: Je veux creer un boutton "Parcourir" qui ouvre un fichier .txt ou .dat, il prend les donnees (environ 8020 donnees sur une collonne) et il les envoye dans un fichier Excel.
2. pour la deuxieme application: J'ai developpe un petite application qui, a la commande, prend les donnees introduites a l'aide des boites de dialogue et les mette dans un fichier Excel dans des certaines cellules, bien etablites, mais je veux qu'a la suivante commande d'introduction de donnees, il verifie d'abord, les cellules et si elle est vide, les donnees y seront mis, sinon il passe a la ligne suivante.
J'ai besoin de quelques lignes de code dans les deux cas pour que je puisse les adapter aux mes besoins.
Merci d'avance.

10 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
27 nov. 2006 à 21:51
Salut,

Bon point : pour un Roumain, tu écris très bien, contrairement à certains dont le français est la langue maternelle.

Mauvais Points :
* Une seule question, pas 2 ou + par jour !
* Recherche sur le forum, via moteur de recherche CS, les code pour lire fichier texte et
    piloter excel

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
crapu Messages postés 7 Date d'inscription vendredi 16 juin 2006 Statut Membre Dernière intervention 28 décembre 2006
27 nov. 2006 à 22:29
Merci pour les sugestions,
J'ai cherche un peu mais je trouve pas tout a fait ce que je veux. Toute fois si quelq'un a utilise dans ses applications des codes qui peuvent m'aider j'attends des solutions.
Comme je vous disais j'ai pas trop de connaissances sur le VBA.
Bonne soiree.
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
27 nov. 2006 à 22:37
Voici un bout de code :

Sub ImportDonneesFichiersTexte()
    Dim strFile         As String
    Dim strAllText()    As String
    Dim ff              As Integer
    Dim i               As Integer
    Dim iNbLine         As Integer
    Dim iLigne          As Integer
    
strFile = "C:\Chemin\Nom
fichier.txt"
' ici place le bon chemin et nom du
fichier texte

ff = FreeFile
Open strFile For Input As ff
    Contenu = Input(LOF(ff), ff)
Close 2
' Ca c'est pour ouvrir, lire et fermer le
fichier texte

strAllText() = Split(Contenu, vbCrLf)
' on découpe ligne par ligne
iNbLine = UBound(strAllText)
' on compte les données
iLigne = 1

For i = 0 To iNbLine
' on place tout dans le classeur, 1ere colonne, ligne 1 et ainsi
' de suite jusqu'à la fin des données
        Cells(iLigne, 1).Value = strAllText(i)
        iLigne = iLigne + 1
Next i
    Erase strAllText
' on efface le tableau
End Sub
~
Mortalino ~

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
28 nov. 2006 à 08:56
[auteurdetail.aspx?ID= 917864 >crapu ]

Pour le bouton parcourir regarde du côté du contrôle qui s'appelle Common Dialog Control






[auteurdetail.aspx?ID=647037 > Salut mortalino]

Tu vas me trouver C....t mais Contenu n'est pas déclaré.
De plus Close 2 alors que Open ... As ff
Et pour finir pourquoi utiliser plus de varaibles que necessaire.
Par la j'entends
For i  = 0 to UBound(strAllText) 
    Cells(i + 1, 1).Value = StrAllText(i) 
Next 

Voilà c'est tout

@+: Ju£i?n
Pensez: Réponse acceptée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
28 nov. 2006 à 13:08
Salut Julien,

beh en fait, à force de faire 50 000 copier coller, j'ai plus fait gaffe.
Tu as tout à fait raison sur toute la ligne (enfin, les lignes ;)) et je ferai un effort d'être plus vigilent.

Bonne aprem ;)

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
28 nov. 2006 à 13:13
[auteurdetail.aspx?ID=647037 mortalino]


re, Non mais tu sais c'était juste histoire de te taquiner c'est tout.
@+: Ju£i?n
Pensez: Réponse acceptée
0
crapu Messages postés 7 Date d'inscription vendredi 16 juin 2006 Statut Membre Dernière intervention 28 décembre 2006
28 nov. 2006 à 20:23
Salut mes amis,
J'ai le code suivant qui ouvre un fichier Excel et un menu "Parcourir". Le contenu du fichier ouvert (.ISO) a l'aide de parcourir sera mis dans un TextBox. Comment je peut le modifier afin que le contenu du fichier .ISO soit mis directement dans le fichier Excel ?
Merci et bonne soiree.





<hr />


Private Sub Command1_Click(Index As Integer)
Dim nrinc As String

'excel
Dim xcl As Excel.Application
    Set xcl = CreateObject("Excel.Application")
   
    If xcl <> "" Then
        xcl.Workbooks.Add           'adauga un registru la colectie
        xcl.DisplayAlerts = False
    End If
   
    xcl.Worksheets.Add              'adauga o foaie
    xcl.Cells(1, 2) = "celula 1,2"
    
    ' secventa de mai jos o poti folosi pt cazul in care vrei sa salvezi documentul
    ' poti deasemenea si redenumi foaia in care lucrezi
    Dim xlBook As Excel.Workbook
    Dim xlSheet As Excel.Worksheet


    Set xlBook = xcl.Workbooks(1)
    Set xlSheet = xlBook.Worksheets(1)
    xcl.Workbooks(1).SaveAs ("C:\Documents and Settings\Ilie Ionut\Desktop\excel\MyExcel.xls")
    Set xlSheet = Nothing
    Set xlBook = Nothing
    ' sfarsit secventa


    xcl.Visible = True


    Set xcl = Nothing

Dim intfichier As Integer
Dim intmessageresultat As Integer
If blnestmodife = True Then
intmessageresultat = MsgBox("Inregistrati modificarile?", vbQuestion + vbYesNo, "Fisier modificat")
If intmessageresultat = vbYes Then
Call mnufichierEnregistrer_Click
cmOuvrirFichier.DialogTitle = "Selectionati un fisier"
End If
End If
cmOuvrirFichier.ShowOpen
intfichier = FreeFile
Open cmOuvrirFichier.FileName For Input As intfichier
txtblocnotes.Text = Input(LOF(intfichier), intfichier)
frmBlocNotes.Caption = "Bloc Notes" + cmOuvrirFichier.FileName
Close #intfichier


End Sub





<hr />
0
crapu Messages postés 7 Date d'inscription vendredi 16 juin 2006 Statut Membre Dernière intervention 28 décembre 2006
28 déc. 2006 à 12:33
Salut,
Peut quelq'un m'aider pour la deuxieme question ?
J'ai besoin d'une instruction comme : Ifcellule vide thenmettre les donnees dans la cellule else passe a la ligne suivante.
Comment faire cela ?
J'ai ajoute un petite partie de code pour exemple:
<hr />'Pista
Sheets("Pista").Select
'data
Range("B19").Select
ActiveCell.FormulaR1C1 = data
'nr ore
Range("c19").Select
ActiveCell.FormulaR1C1 = "8"
'linia de proiect
Range("d19").Select
ActiveCell.FormulaR1C1 = linieproiect

'descriere activitate
Range("e19").Select
ActiveCell.FormulaR1C1 = "Efectuare incercare"

'client
Range("f19").Select
ActiveCell.FormulaR1C1 = client
'nr incercare
Range("g19").Select
ActiveCell.FormulaR1C1 = numeincercare
<hr />
Merci d'avance
0
crapu Messages postés 7 Date d'inscription vendredi 16 juin 2006 Statut Membre Dernière intervention 28 décembre 2006
28 déc. 2006 à 12:33
Salut,
Peut quelq'un m'aider pour la deuxieme question ?
J'ai besoin d'une instruction comme : Ifcellule vide thenmettre les donnees dans la cellule else passe a la ligne suivante.
Comment faire cela ?
J'ai ajoute un petite partie de code pour exemple:
<hr />'Pista
Sheets("Pista").Select
'data
Range("B19").Select
ActiveCell.FormulaR1C1 = data
'nr ore
Range("c19").Select
ActiveCell.FormulaR1C1 = "8"
'linia de proiect
Range("d19").Select
ActiveCell.FormulaR1C1 = linieproiect

'descriere activitate
Range("e19").Select
ActiveCell.FormulaR1C1 = "Efectuare incercare"

'client
Range("f19").Select
ActiveCell.FormulaR1C1 = client
'nr incercare
Range("g19").Select
ActiveCell.FormulaR1C1 = numeincercare
<hr />
Merci d'avance et
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
28 déc. 2006 à 16:06
Salut,

va voir sur codyx, j'ai une fonction qui cherche la première ligne vide :
en gros, c'est ça :

Pour la première colonne :
Dim PLV As Integer

PLV = Columns(1).Find("", [A1], , , xlByRows, xlNext).Rows

En rouge c'est la correspondance avec la première colonne, si tu cherches dans la colonne C, bah ce sera Columns(3) et [C1] (ou [C12], peut importe sur le numéro de la ligne de départ, c'est ton choix)

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
0
Rejoignez-nous