funkybambasta80
Messages postés2Date d'inscriptionjeudi 28 avril 2011StatutMembreDernière intervention31 mai 2011
-
30 mai 2011 à 08:56
Vorens
Messages postés41Date d'inscriptionmardi 24 mai 2011StatutMembreDernière intervention12 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.
Vorens
Messages postés41Date d'inscriptionmardi 24 mai 2011StatutMembreDernière intervention12 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 ^^
funkybambasta80
Messages postés2Date d'inscriptionjeudi 28 avril 2011StatutMembreDernière intervention31 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
Vorens
Messages postés41Date d'inscriptionmardi 24 mai 2011StatutMembreDernière intervention12 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