Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
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 29/07/2011, 16h39   #1
Invité(e)
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Par défaut Command button probleme

Bonjour tout le monde
il y a quelqu'un qui peut m'aider ?
voila le code
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
 
If CheckBox1 = True Then
 
 Sheets("KhaOla AliOuat").Range("c4").Value = TextBox1.Value
 Sheets("KhaOla AliOuat").Range("d4").Value = TextBox2.Value
 
 Else
 
 Sheets("KhaOla AliOuat").Range("c4").Value = ""
 Sheets("KhaOla AliOuat").Range("d4").Value = ""
 
 End If
 
End Sub
 
 
Private Sub CheckBox10_Click()
If CheckBox4 = True Then
 
 Sheets("Bourasse Ghizlane ").Range("c4").Value = TextBox1.Value
 Sheets("Bourasse Ghizlane ").Range("d4").Value = TextBox2.Value
 
 Else
 
 Sheets("Bourasse Ghizlane ").Range("c4").Value = ""
 Sheets("Bourasse Ghizlane ").Range("d4").Value = ""
 
 End If
End Sub
 
Private Sub CheckBox11_Click()
If CheckBox3 = True Then
 
 Sheets("Amir Marouane").Range("c4").Value = TextBox1.Value
 Sheets("Amir Marouane").Range("d4").Value = TextBox2.Value
 
 Else
 
 Sheets("Amir Marouane").Range("c4").Value = ""
 Sheets("Amir Marouane").Range("d4").Value = ""
 
 End If
End Sub
 
Private Sub CheckBox2_Click()
If CheckBox2 = True Then
 
 Sheets("Chtaibi Lamiae").Range("c4").Value = TextBox1.Value
 Sheets("Chtaibi Lamiae").Range("d4").Value = TextBox2.Value
 
 Else
 
 Sheets("Chtaibi Lamiae").Range("c4").Value = ""
 Sheets("Chtaibi Lamiae").Range("d4").Value = ""
 
 End If
End Sub
 
Private Sub CheckBox3_Click()
If CheckBox8 = True Then
 
 Sheets("Ayane Sami").Range("c4").Value = TextBox1.Value
 Sheets("Ayane Sami").Range("d4").Value = TextBox2.Value
 
 Else
 
 Sheets("Ayane Sami").Range("c4").Value = ""
 Sheets("Ayane Sami").Range("d4").Value = ""
 
 End If
End Sub
 
Private Sub CheckBox4_Click()
If CheckBox11 = True Then
 
 Sheets("Bachiri Reda").Range("c4").Value = TextBox1.Value
 Sheets("Bachiri Reda").Range("d4").Value = TextBox2.Value
 
 Else
 
 Sheets("Bachiri Reda").Range("c4").Value = ""
 Sheets("Bachiri Reda").Range("d4").Value = ""
 
 End If
End Sub
 
Private Sub CheckBox5_Click()
If CheckBox9 = True Then
 
 Sheets("Saboui Ismail").Range("c4").Value = TextBox1.Value
 Sheets("Saboui Ismail").Range("d4").Value = TextBox2.Value
 
 Else
 
 Sheets("Saboui ismail").Range("c4").Value = ""
 Sheets("Saboui Ismail").Range("d4").Value = ""
 
 End If
End Sub
 
Private Sub CheckBox6_Click()
If CheckBox10 = True Then
 
 Sheets("Koudri Morad").Range("c4").Value = TextBox1.Value
 Sheets("Koudri Morad").Range("d4").Value = TextBox2.Value
 
 Else
 
 Sheets("Koudri Morad").Range("c4").Value = ""
 Sheets("Koudri Morad").Range("d4").Value = ""
 
 End If
End Sub
 
Private Sub CheckBox7_Click()
If CheckBox7 = True Then
 
 Sheets("Raji Rachid").Range("c4").Value = TextBox1.Value
 Sheets("Raji Rachid").Range("d4").Value = TextBox2.Value
 
 Else
 
 Sheets("Raji Rachid").Range("c4").Value = ""
 Sheets("Raji Rachid").Range("d4").Value = ""
 
 End If
End Sub
 
Private Sub CheckBox8_Click()
If CheckBox6 = True Then
 
 Sheets("Amir Adnane").Range("c4").Value = TextBox1.Value
 Sheets("Amir Adnane").Range("d4").Value = TextBox2.Value
 
 Else
 
 Sheets("Amir Adnane").Range("c4").Value = ""
 Sheets("Amir Adnane").Range("d4").Value = ""
 
 End If
End Sub
 
Private Sub CheckBox9_Click()
If CheckBox5 = True Then
 
 Sheets("Bounira Nabil ").Range("c4").Value = TextBox1.Value
 Sheets("Bounira Nabil ").Range("d4").Value = TextBox2.Value
 
 Else
 
 Sheets("Bounira Nabil ").Range("c4").Value = ""
 Sheets("Bounira Nabil ").Range("d4").Value = ""
 
 End If
End Sub
 
Private Sub CommandButton1_Click()
Load Me
End Sub
 
Private Sub CommandButton2_Click()
Unload Me
End Sub
 
Private Sub UserForm_Click()
 
End Sub
le problème c'est quand je remplie le textbox1, 2 une deuxième fois il remplace ce que j'ai entre la première fois
je crois que le problème est dans le cammand button
  Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 16h46   #2
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 308
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 308
Points : 2 657
Points : 2 657
Bonjour,
Je n'ai pas regardé ton code complètement mais la bonne pratique d'une mise à jour des informations entré dans un UserForm est de le faire après avoir cliqué sur un bouton de Confirmation (CommandButton) assigné à cet effet.
C'est pour cela que tu as en général toujours 2 boutons. Un Annul et un OK
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/07/2011, 16h50   #3
Invité(e)
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Citation:
Envoyé par corona Voir le message
Bonjour,
Je n'ai pas regardé ton code complètement mais la bonne pratique d'une mise à jour des informations entré dans un UserForm est de le faire après avoir cliqué sur un bouton de Confirmation (CommandButton) assigné à cet effet.
C'est pour cela que tu as en général toujours 2 boutons. Un Annul et un OK
Merci es-que tu peut me donner le code de confirmation ?
  Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 17h10   #4
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 308
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 308
Points : 2 657
Points : 2 657
Bonjour,
C'est seulement créer un CommandButton que tu assignes à cette tâche et que tu nommes par exemple cmdConfirm.
Code :
1
2
3
4
5
6
7
8
9
10
Private Sub cmdConfirm_Click()
 ' Ton code de mise à jour comme par exemple
 If CheckBox1 = True Then
  Sheets("KhaOla AliOuat").Range("c4").Value = TextBox1.Value
  Sheets("KhaOla AliOuat").Range("d4").Value = TextBox2.Value
 Else
  Sheets("KhaOla AliOuat").Range("c4").Value = ""
  Sheets("KhaOla AliOuat").Range("d4").Value = ""
 End If
End Sub
Mais que tu peux simplifier comme ceci.
Code :
1
2
3
4
5
6
7
Private Sub cmdConfirm_Click()
 With ThisWorkbook.Sheets("KhaOla AliOuat")
  .Range("c4") = IIf(CheckBox1, TextBox1, "")
  .Range("d4") = IIf(CheckBox1, TextBox1, "")
 End With
 Unload Me ' Fermer la UserForm
End Sub
Il faut bien entendu faire la mise à jour complète. C'est à dire toutes les cellules que tu souhaites mettre à jour. Je n'ai repris que la maj de C4 et D4.
J'ai ajouté ThisWorkbook parce-que c'est toujours dangereux de ne pas préciser le classeur où tu écris.
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/07/2011, 17h25   #5
Invité(e)
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Citation:
Envoyé par corona Voir le message
Bonjour,
C'est seulement créer un CommandButton que tu assignes à cette tâche et que tu nommes par exemple cmdConfirm.
Code :
1
2
3
4
5
6
7
8
9
10
Private Sub cmdConfirm_Click()
 ' Ton code de mise à jour comme par exemple
 If CheckBox1 = True Then
  Sheets("KhaOla AliOuat").Range("c4").Value = TextBox1.Value
  Sheets("KhaOla AliOuat").Range("d4").Value = TextBox2.Value
 Else
  Sheets("KhaOla AliOuat").Range("c4").Value = ""
  Sheets("KhaOla AliOuat").Range("d4").Value = ""
 End If
End Sub
Mais que tu peux simplifier comme ceci.
Code :
1
2
3
4
5
6
7
Private Sub cmdConfirm_Click()
 With ThisWorkbook.Sheets("KhaOla AliOuat")
  .Range("c4") = IIf(CheckBox1, TextBox1, "")
  .Range("d4") = IIf(CheckBox1, TextBox1, "")
 End With
 Unload Me ' Fermer la UserForm
End Sub
Il faut bien entendu faire la mise à jour complète. C'est à dire toutes les cellules que tu souhaites mettre à jour. Je n'ai repris que la maj de C4 et D4.
J'ai ajouté ThisWorkbook parce-que c'est toujours dangereux de ne pas préciser le classeur où tu écris.
mais le Problème est toujours la quand je remplie la deuxième fois sa remplace ce que j'ai déjà tapez la première fois mais moi je veux lorsque je remplie les information une deuxième fois s'enregistre dans la cellule d'en bas
aidez-moi svp
  Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 18h05   #6
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 308
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 308
Points : 2 657
Points : 2 657
Bonjour,
Citation:
mais le Problème est toujours la quand je remplie la deuxième fois sa remplace ce que j'ai déjà tapez la première fois mais moi je veux lorsque je remplie les information une deuxième fois s'enregistre dans la cellule d'en bas
aidez-moi svp
Voilà le réel problème et c'est bien cela qui m'étonnais en voyant
Code :
Sheets("KhaOla AliOuat").Range("c4").Value = TextBox1.Value
Si tu dis à quelqu'un d'aller déposer une lettre au 65 de la rue machin, il ne la déposera pas, du moins on l'espère , au n° 66 et bien le code VBA ne va certainement pas non plus prendre d'initiative.
Il faut calculer la dernière ligne occupée et faire + 1
Petit exemple ci-dessous à adapter à ton cas.
Code :
1
2
3
4
With ThisWorkbook.Worksheets("Feuil1")
 LastRow = .Range("B" & Rows.Count).End(xlUp).Row
 msgbox "La dernière ligne occupée est " & LastRow
End With
Ici la variable LastRow, renverra le n° de la dernière ligne occupée de la colonne B, de la feuille Feuil1 (Worksheets("Feuil1"))du classeur où se trouve le code VBA (ThisWorkbook).
Il faut donc pour écrire faire par exemple (à adapter selon ton cas)
Code :
  .Range("c" & LastRow + 1) = IIf(CheckBox1, TextBox1, "")
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/07/2011, 18h18   #7
Invité(e)
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
ca ne marche pas
  Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 18h19   #8
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 308
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 308
Points : 2 657
Points : 2 657
Bonjour,
Affiche le code que tu as écrit pour faire la mise à jour.
Soit aussi plus explicite car "cela ne marche pas" cela veux dire quoi, qu'il écrase toujours les informations, qu'il y a un message d'erreur ?
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/07/2011, 18h23   #9
Invité(e)
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Citation:
Envoyé par corona Voir le message
Il ne faut pas le prendre au premier degré mais tout de même, on ne sait pas à qui cela simplifie la tâche.
t'a raison
  Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 18h27   #10
Invité(e)
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Citation:
Envoyé par corona Voir le message
Bonjour,
Affiche le code que tu as écrit pour faire la mise à jour.
Soit aussi plus explicite car "cela ne marche pas" cela veux dire quoi, qu'il écrase toujours les informations, qu'il y a un message d'erreur ?
ah oui
y a pas d'erreur mais le problème est le même

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
Private Sub CheckBox1_Click()
 
If CheckBox1 = True Then
 
 Sheets("KhaOla AliOuat").Range("c" & LastRow + 1).Value = TextBox1.Value
 Sheets("KhaOla AliOuat").Range("D" & LastRow + 1).Value = TextBox2.Value
 
 Else
 
 Sheets("KhaOla AliOuat").Range("c" & LastRow + 1).Value = ""
 Sheets("KhaOla AliOuat").Range("D" & LastRow + 1).Value = ""
 
 End If
 
End Sub
Code :
1
2
3
4
5
6
7
8
9
 
Private Sub CommandButton1_Click()
With ThisWorkbook.Worksheets("Feuil1")
 LastRow = .Range("c" & LastRow + 1) = IIf(CheckBox1, TextBox1, "")
 MsgBox "La dernière ligne occupée est " & LastRow
End With
 
 Unload Me ' Fermer la UserForm
End Sub
  Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 18h31   #11
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 308
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 308
Points : 2 657
Points : 2 657
Bonjour,
Est-ce que la variable LastRow est bien alimentée, je n'ai pas l'impression au vu de ton code. Où vas-tu la calculer ?
N'oublie pas que j'ai donné des pistes à adapter
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/07/2011, 18h36   #12
Invité(e)
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Bonjour !
dsl je suis un peu perdu là
  Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 18h55   #13
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 308
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 308
Points : 2 657
Points : 2 657
Bonjour,
Voici un exemple à adapter selon ton cas.
Cela suppose que la colonne C a le même nombre de lignes remplies que les autres colonnes à mettre à jour.
Dans le cas contraire, il faut refaire le calcul pour chaque colonne.
L'idéal serait de calculer la valeur de LastRow sur la première colonne de la Base de données, si c'est une BD bien structurée.
Code :
1
2
3
4
5
6
7
8
9
10
Private Sub cmdConfirm_Click()
 Dim LastRow As Single
 With ThisWorkbook.Sheets("Feuil2")
  LastRow = .Range("C" & Rows.Count).End(xlUp).Row
  ' Mise à jour des cellules
  .Range("c" & LastRow + 1) = IIf(CheckBox1, TextBox1, "")
  .Range("d" & LastRow + 1) = IIf(CheckBox1, TextBox2, "")
 End With
 Unload Me ' Fermer la UserForm
End Sub
Ne pas oublier d'ajouter dans la même procédure, la mise à jour des autres cellules.
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 09/08/2011, 11h51   #14
Invité(e)
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Citation:
Envoyé par corona Voir le message
Bonjour,
Voici un exemple à adapter selon ton cas.
Cela suppose que la colonne C a le même nombre de lignes remplies que les autres colonnes à mettre à jour.
Dans le cas contraire, il faut refaire le calcul pour chaque colonne.
L'idéal serait de calculer la valeur de LastRow sur la première colonne de la Base de données, si c'est une BD bien structurée.
Code :
1
2
3
4
5
6
7
8
9
10
Private Sub cmdConfirm_Click()
 Dim LastRow As Single
 With ThisWorkbook.Sheets("Feuil2")
  LastRow = .Range("C" & Rows.Count).End(xlUp).Row
  ' Mise à jour des cellules
  .Range("c" & LastRow + 1) = IIf(CheckBox1, TextBox1, "")
  .Range("d" & LastRow + 1) = IIf(CheckBox1, TextBox2, "")
 End With
 Unload Me ' Fermer la UserForm
End Sub
Ne pas oublier d'ajouter dans la même procédure, la mise à jour des autres cellules.
ce code me donne une erreur d'exécution
  Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 12h38   #15
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 847
Points : 16 847
Envoyer un message via Skype™ à bbil
Citation:
Envoyé par biyob0 Voir le message
ce code me donne une erreur d'exécution
Sur le forum les messages ne sont pas limités à une ligne... tu peu en dire plus sur l'erreur d'exécution .. ? message d'erreur ? ligne concerné ? ...
bbil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 09/08/2011, 12h53   #16
Invité(e)
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Citation:
Envoyé par bbil Voir le message
Sur le forum les messages ne sont pas limités à une ligne... tu peu en dire plus sur l'erreur d'exécution .. ? message d'erreur ? ligne concerné ? ...
ah OK

erreur d'exécution '9'

L'indice n'appartient pas a la sélection

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
 
Private Sub CheckBox1_Click()
 
Dim LastRow As Single
 With ThisWorkbook.Sheets("Feuil2")
  LastRow = .Range("C" & Rows.Count).End(xlUp).Row
  ' Mise à jour des cellules
  .Range("c" & LastRow + 1) = IIf(CheckBox1, TextBox1, "")
  .Range("d" & LastRow + 1) = IIf(CheckBox1, TextBox2, "")
 End With
 
End Sub
Private Sub CommandButton1_Click()
 
Unload Me
End Sub
  Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 13h04   #17
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 308
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 308
Points : 2 657
Points : 2 657
Bonjour,
Ce serait pas mal aussi quand tu indiques un message d'erreur, de dire à quelle ligne cela se passe.
Je suppose que tu n'as pas de feuille nommée Feuil2 ?
[EDIT] Petite remarque aussi. Pourquoi remettre la mise à jour des données avec un click sur CheckBox et pas avec le CommandButton ?
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 13h33   #18
Invité(e)
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Citation:
Envoyé par corona Voir le message
Bonjour,
Ce serait pas mal aussi quand tu indiques un message d'erreur, de dire à quelle ligne cela se passe.
Je suppose que tu n'as pas de feuille nommée Feuil2 ?
[EDIT] Petite remarque aussi. Pourquoi remettre la mise à jour des données avec un click sur CheckBox et pas avec le CommandButton ?
ligne 6
j'ai Feuil2 (AliOuat KhaOla)
es-que je dois remplace feuil 2 par AliOuat KhaOla ?
remettre la mise à jour des données avec un click sur CheckBox et pas avec le CommandButton parce que c'est plus facile vus que je suis nul
  Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2011, 14h43   #19
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 308
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 308
Points : 2 657
Points : 2 657
Bonjour,
Citation:
j'ai Feuil2 (AliOuat KhaOla)
es-que je dois remplace feuil 2 par AliOuat KhaOla ?
Evidemment, si c'est le nom de la feuille
Citation:
remettre la mise à jour des données avec un click sur CheckBox et pas avec le CommandButton parce que c'est plus facile vus que je suis nul
Si tu poses des questions, je suppose que c'est parce-que tu attends les réponses les plus pertinentes.
Si je te conseille de placer le code de mise à jour de ton formulaire lorsque l'on clique sur le commandButton plutôt que sur le checkBox et que tu veux faire autrement sous prétexte que c'est plus facile, c'est à désespérer de donner un coup de main. De plus, je ne vois pas en quoi c'est plus facile ou difficile.
Lorsque tu remplis un formulaire à la main, tu le rends une fois terminé.
Lorsque tu vois une boite de dialogue dans un programme, Word, Excel etc..., la mise à jour se fait quand tu clique sur OK
Et bien dans ton programme, essaie de faire pareil. Il est plus logique de mettre à jour des données une fois, tout le formulaire rempli par un click sur un bouton de confirmation.
Si ton but est de prendre des petits morceaux de code et de faire des copier/coller sans essayer de comprendre, il est préférable de laisser tomber la programmation.
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/08/2011, 13h13   #20
Invité(e)
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
c'est bon j'ai compris
et voici mon code finale

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
 
Private Sub CommandButton1_Click()
 
 Dim LastRow As Single
 With ThisWorkbook.Sheets("AliOuat KhaOla")
  LastRow = .Range("C" & Rows.Count).End(xlUp).Row
 
  ' Mise à jour des cellules
  .Range("c" & LastRow + 1) = IIf(CheckBox1, TextBox1, "")
  .Range("d" & LastRow + 1) = IIf(CheckBox1, TextBox2, "")
  End With
 With ThisWorkbook.Sheets("Chtaibi Lamiae")
  LastRow = .Range("C" & Rows.Count).End(xlUp).Row
 
  ' Mise à jour des cellules
  .Range("c" & LastRow + 1) = IIf(CheckBox2, TextBox1, "")
  .Range("d" & LastRow + 1) = IIf(CheckBox2, TextBox2, "")
 End With
  With ThisWorkbook.Sheets("Amir Marouane")
  LastRow = .Range("C" & Rows.Count).End(xlUp).Row
 
  ' Mise à jour des cellules
  .Range("c" & LastRow + 1) = IIf(CheckBox3, TextBox1, "")
  .Range("d" & LastRow + 1) = IIf(CheckBox3, TextBox2, "")
 End With
 With ThisWorkbook.Sheets("Bourasse Ghizlane ")
  LastRow = .Range("C" & Rows.Count).End(xlUp).Row
 
  ' Mise à jour des cellules
  .Range("c" & LastRow + 1) = IIf(CheckBox4, TextBox1, "")
  .Range("d" & LastRow + 1) = IIf(CheckBox4, TextBox2, "")
 End With
  With ThisWorkbook.Sheets("Bounira Nabil ")
  LastRow = .Range("C" & Rows.Count).End(xlUp).Row
 
  ' Mise à jour des cellules
  .Range("c" & LastRow + 1) = IIf(CheckBox5, TextBox1, "")
  .Range("d" & LastRow + 1) = IIf(CheckBox5, TextBox2, "")
 End With
  With ThisWorkbook.Sheets("Amir Adnane")
  LastRow = .Range("C" & Rows.Count).End(xlUp).Row
 
  ' Mise à jour des cellules
  .Range("c" & LastRow + 1) = IIf(CheckBox6, TextBox1, "")
  .Range("d" & LastRow + 1) = IIf(CheckBox6, TextBox2, "")
 End With
  With ThisWorkbook.Sheets("Raji Rachid")
  LastRow = .Range("C" & Rows.Count).End(xlUp).Row
 
  ' Mise à jour des cellules
  .Range("c" & LastRow + 1) = IIf(CheckBox7, TextBox1, "")
  .Range("d" & LastRow + 1) = IIf(CheckBox7, TextBox2, "")
 End With
  With ThisWorkbook.Sheets("Ayane Sami")
  LastRow = .Range("C" & Rows.Count).End(xlUp).Row
 
  ' Mise à jour des cellules
  .Range("c" & LastRow + 1) = IIf(CheckBox8, TextBox1, "")
  .Range("d" & LastRow + 1) = IIf(CheckBox8, TextBox2, "")
 End With
  With ThisWorkbook.Sheets("Saboui Ismail")
  LastRow = .Range("C" & Rows.Count).End(xlUp).Row
 
  ' Mise à jour des cellules
  .Range("c" & LastRow + 1) = IIf(CheckBox9, TextBox1, "")
  .Range("d" & LastRow + 1) = IIf(CheckBox9, TextBox2, "")
 End With
  With ThisWorkbook.Sheets("Koudri Morad")
  LastRow = .Range("C" & Rows.Count).End(xlUp).Row
 
  ' Mise à jour des cellules
  .Range("c" & LastRow + 1) = IIf(CheckBox10, TextBox1, "")
  .Range("d" & LastRow + 1) = IIf(CheckBox10, TextBox2, "")
 End With
  With ThisWorkbook.Sheets("Bachiri Reda")
  LastRow = .Range("C" & Rows.Count).End(xlUp).Row
 
  ' Mise à jour des cellules
  .Range("c" & LastRow + 1) = IIf(CheckBox11, extBox1, "")
  .Range("d" & LastRow + 1) = IIf(CheckBox11, TextBox2, "")
 End With
 Unload Me ' Fermer la UserForm
End Sub

Merci un grand merci
svp une dernière question
et si je veux donne un lien a ce que je viens de tappez dans textbox 1 comment faire ?
  Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Enlever Résolu
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h26.


 
 
 
 
Partenaires

Hébergement Web