A voir également:
- Faire défiler les cellules dans un textbox
- Formule excel pour additionner plusieurs cellules - Guide
- Aller à la ligne dans une cellule excel - Guide
- Verrouiller cellules excel - Guide
- Concatener deux cellules excel - Guide
- Figer les cellules excel - Guide
3 réponses
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
17 avril 2008 à 12:02
17 avril 2008 à 12:02
Bonjour,
Déclare i en variable globale dans ton module. Au chargement de la UserForm initialise i à la première ligne de données, dans ton exemple i = 2.
Ensuite:
Utilise le même principe pour le bouton btprécédent en testant que la ligne contient bien des données avant de l'afficher.
;o)
polux
Déclare i en variable globale dans ton module. Au chargement de la UserForm initialise i à la première ligne de données, dans ton exemple i = 2.
Ensuite:
Private Sub btsuivant_Click() If i = 2 Then MsgBox "Premier élément de la liste" Exit Sub Else Call AfficheZones i = i + 1 End If End Sub Private Sub AfficheZones() Fenetre.TextBox2 = Sheets("ventes").Cells(i, 2) Fenetre.TextBox3 = Sheets("ventes").Cells(i, 3) ... etc End Sub
Utilise le même principe pour le bouton btprécédent en testant que la ligne contient bien des données avant de l'afficher.
;o)
polux
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
17 avril 2008 à 14:14
17 avril 2008 à 14:14
Ce n'est pas dans fenêtre_Initialize mais dans Sub UserForm_Initialize(), de plus la procédure d'affichage c'est AfficheZones et non AffichesZones.
Il faut déclarer en début de module : Private i As Long. Ce qui donne un module comme ça
;o)
polux
Il faut déclarer en début de module : Private i As Long. Ce qui donne un module comme ça
Option Explicit Private i As Long Private Sub UserForm_Initialize() i = 2 Call AfficheZones End Sub Private Sub btsuivant_Click() If i = 2 Then MsgBox "Premier élément de la liste" Exit Sub Else Call AfficheZones i = i + 1 End If End Sub Private Sub AfficheZones() Fenetre.TextBox2 = Sheets("ventes").Cells(i, 2) End Sub
;o)
polux
17 avril 2008 à 13:45
malheureusement le programme ne fonctionne pas encore.
voila tel que je l'ai rentré dans son intégralité (en prenant ce que vous m'avez donné). Avez vous une idée de ce qui cloche?
Private Sub Fenetre_Initialize()
i = 2
Call AffichesZones
End Sub
Private Sub btsuivant_Click()
If i = 2 Then
MsgBox "Premier élément de la liste"
Exit Sub
Else
Call AfficheZones
i = i + 1
End If
End Sub
Private Sub AfficheZones()
Fenetre.TextBox2 = Sheets("ventes").Cells(i, 2)
End Sub