Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/12/2011, 15h49   #1
Invité régulier
 
Inscription : novembre 2008
Messages : 35
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : novembre 2008
Messages : 35
Points : 7
Points : 7
Par défaut Appli VBA + Formulaire de base donnée

bonjour,

je suis en train de réalisé une petite base de donnée avec excel, et j'ai développer un Formulaire pour remplire la base de donnée.

Cependant je suis bloqué sur un point particulier.

j'ai ajouté un bouton dans mon formulaire qui permet de parcourir les entrée de la base de donnée.

je n'arrive pas à passé apres l'initialisation, a la ligne suivante je pense que cela viens de mon code à l'initialisation, mais je n'arrive pas à résoudre le probleme est ce que quelqu'un pourrais m'aidée
je joint la partie du code incriminé et ma fonction d'initialisation qui marche
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Private Sub Suivant_Click()
 
    Sheets("base_citoyenne").Select
 
   ' à chaque clique du bouton suivant le formulaire affiche l'entrée suivante de la base de donnée
   '
   '
    dim i as integer ' i la ligne
    dim j as integer ' j la collone
    dim n as integer ' nombre d'entrée de la base de donnée
 
    i = 3 ' le tableau dans la sheet commence à la 3eme lignes
    j = 2 ' ainsi qu'a la deuxieme collones
 
 
        For i = 3 To 10000 Step 1
    If Not (Cells(i, 2).Value = "") Then
           n = n + 1
        End If
    Next
    For i = 3 To n Step 1
        Txtnom.Value = Cells(i, j + 1).Value
        Txtind.Caption = Cells(i, j).Value
        Txtprenom.Value = Cells(i, j + 2).Value
        Txt_mail.Text = Cells(i, j + 3).Value
        TextAdrs.Text = Cells(i, j + 6).Value
        ' list_ville.Value = Cells(i, j + 4).Value
    Next
 
End Sub


je réussit à lire la premier entrée mais pas les suivantes.
je me dis que cela viendrais que sub userform_Initialize serait en mode private mais je ne suis pas sur.

Vue que c'est mon premier code que je fait avec VBA.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
Private Sub UserForm_Initialize()
 
   ' Initialisation du formulaire
   ' Liste
 
    i = 3
    j = 2
 
    '   n As Integer
 
    Txtind.Caption = Cells(i, j).Value
    Txtnom.Value = Cells(i, j + 1).Value
    Txtprenom.Value = Cells(i, j + 2).Value
    Txt_mail.Value = Cells(i, j + 3).Value
 
    Sheets("base_citoyenne").Select
 
    For i = 3 To 10000 Step 1
    If Not (Cells(i, 2).Value = "") Then
           n = n + 1
        End If
    Next
 
    n_valeur.Caption = n
 
 
 
End Sub
Merci d'avance pour votre aide

Astroflo
astroflo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2011, 16h10   #2
Invité régulier
 
Femme
Développeur décisionnel
Inscription : décembre 2011
Messages : 15
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Développeur décisionnel

Informations forums :
Inscription : décembre 2011
Messages : 15
Points : 8
Points : 8
Bonjour,

Quel est ton message d'erreur?

Lorsque je regarde ton code, je vous que tes variables ne dont pas déclarées (en commentaire)
fama78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2011, 16h22   #3
Invité régulier
 
Inscription : novembre 2008
Messages : 35
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : novembre 2008
Messages : 35
Points : 7
Points : 7
je n'ai pas de message d'erreur,

en fait quand je clique sur le bouton suivant associé à la commande suivant_click mon compteur ne marche pas
et je n'arrive pas à lire la base

si mes variable sont déclarer le commentaire est après la déclaration donc pas de problème de plus

vue que VBA est mal fait il n'est pas nécessaire de déclarer les variable, mais mon habitude de programmeur est de déclarer et initialisé
astroflo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2011, 16h43   #4
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
bonjour...

évite d'utiliser les "Select" et quand tu utilise Cells, Range, ... pense à préciser la feuille concernée.., vérifie la valeur trouvée pour n en rajoutant un point d'arrêt grâce à l'instruction stop par exemple..
Code :
1
2
3
4
5
6
7
8
....
 If Not (Sheets("base_citoyenne").Cells(i, 2).Value = "") Then
           n = n + 1
        End If
    Next
Debug.print n ' Voir valeur de n dans fenêtre exécution CTRL+G
Stop
....
Une petite révision pour le débogage en VB :
Le débogage sous Visual Basic 6
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h17.


 
 
 
 
Partenaires

Hébergement Web