Pilotage Excel avec VB

funkybambasta80 Messages postés 2 Date d'inscription jeudi 28 avril 2011 Statut Membre Dernière intervention 31 mai 2011 - 30 mai 2011 à 08:56
Vorens Messages postés 41 Date d'inscription mardi 24 mai 2011 Statut Membre Dernière intervention 12 juin 2012 - 31 mai 2011 à 12:06
Bonjour,

Je me permet de poser une question (qui je pense a dû être posé plusieurs fois).

Développeur Windev, je me suis remis à VB il y a peu pour des besoins lié au travail, je vous avoue que j'ai un peu honte et surout cela fait très longtemps que je n'avais pas utilisé VB 6.0

Voici mon souci :

J'ai une UserForm avec plusieurs TextBox dans lesquels on rempli des infos diverses (Nom, Date, Adresse).
Une fois les infos rentrées on les envoies dans un fichier Excel dans lequel se situe des colonnes prédéfinis avec les infos rentrées à savoir une colonne Nom, une autre Date, une autre adresse.
Par contre une fois qu'une ligne est rentré un autre utilisateur pourra envoyer des infos dans ce meme fichier Excel mais sans écrsé la ligne précédente, en gros comment remplir ce tableau en testant si la ligne précédente est pleine ou vide.

Merci pour les pistes que vous pourriez me donner.

Profitez bien et bon code

4 réponses

Vorens Messages postés 41 Date d'inscription mardi 24 mai 2011 Statut Membre Dernière intervention 12 juin 2012
30 mai 2011 à 10:03
Bonjour.

Je t'oriente, tu dois faire un test sur la valeur de la première cellule du ton tableau. range("A1").value = "" (= a pas de texte dedans). Puis en fonction du résultat, tu effectue le test sur la ligne suivant etc. etc. Tu peux résoudre ton problème avec une simple fonction IF.

Cette question est effectivement souvent posée et il y'a bcp de solution dispo sur le net.

Je te montre un bout de code si tu trouve pas rapidement, mais avant, je te laisse chercher une peux ^^
0
Vorens Messages postés 41 Date d'inscription mardi 24 mai 2011 Statut Membre Dernière intervention 12 juin 2012
30 mai 2011 à 10:12
Plus d'infos ICI

La fonction recherche de ce site est très pratique, à ne pas sous éstimer =)
0
funkybambasta80 Messages postés 2 Date d'inscription jeudi 28 avril 2011 Statut Membre Dernière intervention 31 mai 2011
31 mai 2011 à 11:34
Merci pour tes infos Vorens mais je ne sais pas pourquoi ça ne marche pas pour moi. Voici un bout de mon code :

Dim i As Integer
Dim ObjExcel2 As New Excel.Application
ObjExcel2.DisplayAlerts = False
ObjExcel2.Workbooks.Open FileName:="C:\test.xls", ReadOnly:=False, Editable:=True

ObjExcel2.Application.Visible = False

i = 1

If ObjExcel2.Range("A" & i).Value <> "" Then

ObjExcel2.Cells("A" & i).Value = Text1.Text
Else
i = i + 1
ObjExcel2.Save
ObjExcel2.Quit
Set ObjExcel2 = Nothing
MsgBox "Modifications enregistrées !", vbInformation, "OK"
End If
End Sub
0
Vorens Messages postés 41 Date d'inscription mardi 24 mai 2011 Statut Membre Dernière intervention 12 juin 2012
31 mai 2011 à 12:06
Bonjour,

L'exemple suivant te permet de sélectionner la prochaine ligne vide dans un tableau. Il est bien sure à adapter à ton besoin. Tu as comme résultat la sélection de la cellule vide donc tu peux en sortir l'adresse puis y inscrire ton prochain enregistrement.

'Selection prochaine ligne vide________________________________________________________________

    If valeurA2 = "" Then
    Else
        Range("A1").Select
        Selection.End(xlDown).Select
        ligne_active_base = ActiveCell.Row
        Range("A" & ligne_active_base + 1).Select
    End If
    
'Memorise le n° de la ligne ou coller les données.__________________________________________________________________________

    ligne_active_base = ActiveCell.Row
0
Rejoignez-nous