C'est en gros ce que je fais, sauf que les textboxes sont initialisés à
vide et pas alimentés par la toupie (je connais pas la règle pour
l'alimentation). Donc dans mon classeur de test je ne trouve que des
textboxes vides ou modifiés.
Voici l'adresse du classeur avec lequel j'ai testé :
http://cjoint.com/?crrVHWFQ4B
Si tu le peux, poste un classeur dépouillé de tout ce qui n'est pas utile.
DanielPour faire plus simple,
je pensais qu'il serait préférable de faire un code qui dit si on modifie
un texbox que ses caractères deviennent rouges puis par défaut copier les
valeurs de tous les textboxs vers la feuille(recuperationsDesDonnée) a
chaque spinbutton up
donc j'ai commencé un code comme ceci mais avec des lacunes(beaucoup de
lacunes)
dans userform inizialise
dim Ctrl as control
for each Ctrl in me.controls
if me.controls change then 'je ne sais pas comment dire "si mon
controls change"
me.control.font.colorindex = 3
end if
next
dans spin button change
With Worksheets("recuperationDesDonnées")
derligne = .Range("A65536").End(xlUp).Row + 1
.cells(derligne,1) = me.te_invchmal 'dans ce cas je ne sais pas si il va
copier la forme (rouge si modifié)
.cells(derligne,2) = me.te_invchfem
ainsi de suite sur tous les texbox
end with
Autres problèmes je suis dans spinbutton change et je voudrais que la
copie vers recupdesdonnée ce fasse uniquement en spinbutton_up et j ai
besoin du down pour revenir en arrière. Et apparement ou je ne sais pas
faire, je ne peux faire apparaitre qu une forme de code (up ou down ou
change).
merci pour le temps passé avec moi
"DOMINIQUE" a écrit dans le message de groupe de
discussion : uuxYRj#merci alors l'erreur identifié est "next sans for" donc machinalement j
ai enlevé un next et ensuite il me donne l erreur if sans end if
pour tant le nombre de next a l'air bon et idem pour les if. bizarre!
"Daniel.C" a écrit dans le message de groupe
de discussion : exLPsY#Difficile de dire.
Remplace la ligne en erreur par :
On Error Resume Next
Valeurs(Ctr) = c.Text
if Err.NUmber <>0 then
MsgBox c.text
MsgBox Ctr
MsgBox Valeurs(Ctr)
Exit Sub
et poste en retour le contenu des Msgbox.
DanielMerci Daniel
ca avance, maintenant je me trouve avec "l'erreur 458 propriété ou
méthode non géré par cet objet" et sur lignage de la ligne :
Valeurs(Ctr) = c.Text
"Daniel.C" a écrit dans le message de
groupe de discussion : uneJGC#Au temps pour moi; j'ai oublié de te dire de mettre la ligne :
Public Noms(), Valeurs()
au début d'un module standard.
DanielBonjour Daniel C
Merci pour le travail mais j ai une erreur dans le code Private Sub
UserForm_Activate()
qui indique "erreur de compilation : variable non définie" et
surligne en bleu
la ligne ReDim Preserve Noms(Ctr)
et encore merci car c'est au dessus de mon niveau
Pour apprendre pourrais tu m'expliquer userform_activate , je
connaissais userform_initialize
merci
"Daniel.C" a écrit dans le message de
groupe de discussion :Bonjour.
Utilise le code suivant :
Private Sub SpinButton1_Change()
Dim Ctr As Integer, f As Control, Test As Boolean
With Sheets("RecuperationDeDonnées")
Ctr = .[A65000].End(xlUp).Row + 1
For Each f In Me.Controls
If TypeOf f Is Frame Then
If f.Name <> "Frame1" Then
For Each Item In f.Controls
i = i + 1
.Cells(Ctr, i) = Item.Value
Var = Application.Match(Item.Name, Noms, 0)
'ôter
If Valeurs(Application.Match(Item.Name, Noms,
0) - 1) <> Item.Value Then
Test = True
.Cells(Ctr, i).Font.ColorIndex = 3
End If
Next
End If
End If
Next f
If Test = False Then Rows(Ctr).Clear
End With
End Sub
Private Sub UserForm_Activate()
Dim Ctr As Integer
Ctr = -1
For Each f In Me.Controls
If TypeOf f Is Frame Then
If f.Name <> "Frame1" Then
For Each c In f.Controls
Ctr = Ctr + 1
ReDim Preserve Noms(Ctr)
ReDim Preserve Valeurs(Ctr)
Noms(Ctr) = c.Name
Valeurs(Ctr) = c.Text
Next
End If
End If
Next f
Var = Noms
End Sub
DanielBonjour,
J'ai du mal à démarrer un code pouvez vous m'aider ou m'orienter
sur ce problème, merci.
J'ai un userform comprenant 4 frames dans c'est 4 frames se
trouvent 60 textboxs. Ces textboxs sont alimentés par une toupie.
est il possible de créer un code qui dirait lors du changement par
le bouton toupie :
Si l'un ou plusieurs des textboxs des frames 2,3 et 4 ont été
modifiés copier dans la dernière ligne vide de la feuille
"RecuperationDeDonnées" tous les textboxs des frames 2,3 et 4 et
que uniquement les textboxs modifiés soit en caractères rouges.
Merci pour votre aide
C'est en gros ce que je fais, sauf que les textboxes sont initialisés à
vide et pas alimentés par la toupie (je connais pas la règle pour
l'alimentation). Donc dans mon classeur de test je ne trouve que des
textboxes vides ou modifiés.
Voici l'adresse du classeur avec lequel j'ai testé :
http://cjoint.com/?crrVHWFQ4B
Si tu le peux, poste un classeur dépouillé de tout ce qui n'est pas utile.
Daniel
Pour faire plus simple,
je pensais qu'il serait préférable de faire un code qui dit si on modifie
un texbox que ses caractères deviennent rouges puis par défaut copier les
valeurs de tous les textboxs vers la feuille(recuperationsDesDonnée) a
chaque spinbutton up
donc j'ai commencé un code comme ceci mais avec des lacunes(beaucoup de
lacunes)
dans userform inizialise
dim Ctrl as control
for each Ctrl in me.controls
if me.controls change then 'je ne sais pas comment dire "si mon
controls change"
me.control.font.colorindex = 3
end if
next
dans spin button change
With Worksheets("recuperationDesDonnées")
derligne = .Range("A65536").End(xlUp).Row + 1
.cells(derligne,1) = me.te_invchmal 'dans ce cas je ne sais pas si il va
copier la forme (rouge si modifié)
.cells(derligne,2) = me.te_invchfem
ainsi de suite sur tous les texbox
end with
Autres problèmes je suis dans spinbutton change et je voudrais que la
copie vers recupdesdonnée ce fasse uniquement en spinbutton_up et j ai
besoin du down pour revenir en arrière. Et apparement ou je ne sais pas
faire, je ne peux faire apparaitre qu une forme de code (up ou down ou
change).
merci pour le temps passé avec moi
"DOMINIQUE" <DLECORNU@FDC-28.local> a écrit dans le message de groupe de
discussion : uuxYRj#rKHA.4632@TK2MSFTNGP06.phx.gbl...
merci alors l'erreur identifié est "next sans for" donc machinalement j
ai enlevé un next et ensuite il me donne l erreur if sans end if
pour tant le nombre de next a l'air bon et idem pour les if. bizarre!
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de groupe
de discussion : exLPsY#rKHA.6004@TK2MSFTNGP04.phx.gbl...
Difficile de dire.
Remplace la ligne en erreur par :
On Error Resume Next
Valeurs(Ctr) = c.Text
if Err.NUmber <>0 then
MsgBox c.text
MsgBox Ctr
MsgBox Valeurs(Ctr)
Exit Sub
et poste en retour le contenu des Msgbox.
Daniel
Merci Daniel
ca avance, maintenant je me trouve avec "l'erreur 458 propriété ou
méthode non géré par cet objet" et sur lignage de la ligne :
Valeurs(Ctr) = c.Text
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de
groupe de discussion : uneJGC#rKHA.732@TK2MSFTNGP06.phx.gbl...
Au temps pour moi; j'ai oublié de te dire de mettre la ligne :
Public Noms(), Valeurs()
au début d'un module standard.
Daniel
Bonjour Daniel C
Merci pour le travail mais j ai une erreur dans le code Private Sub
UserForm_Activate()
qui indique "erreur de compilation : variable non définie" et
surligne en bleu
la ligne ReDim Preserve Noms(Ctr)
et encore merci car c'est au dessus de mon niveau
Pour apprendre pourrais tu m'expliquer userform_activate , je
connaissais userform_initialize
merci
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de
groupe de discussion : eXpioa9rKHA.3800@TK2MSFTNGP06.phx.gbl...
Bonjour.
Utilise le code suivant :
Private Sub SpinButton1_Change()
Dim Ctr As Integer, f As Control, Test As Boolean
With Sheets("RecuperationDeDonnées")
Ctr = .[A65000].End(xlUp).Row + 1
For Each f In Me.Controls
If TypeOf f Is Frame Then
If f.Name <> "Frame1" Then
For Each Item In f.Controls
i = i + 1
.Cells(Ctr, i) = Item.Value
Var = Application.Match(Item.Name, Noms, 0)
'ôter
If Valeurs(Application.Match(Item.Name, Noms,
0) - 1) <> Item.Value Then
Test = True
.Cells(Ctr, i).Font.ColorIndex = 3
End If
Next
End If
End If
Next f
If Test = False Then Rows(Ctr).Clear
End With
End Sub
Private Sub UserForm_Activate()
Dim Ctr As Integer
Ctr = -1
For Each f In Me.Controls
If TypeOf f Is Frame Then
If f.Name <> "Frame1" Then
For Each c In f.Controls
Ctr = Ctr + 1
ReDim Preserve Noms(Ctr)
ReDim Preserve Valeurs(Ctr)
Noms(Ctr) = c.Name
Valeurs(Ctr) = c.Text
Next
End If
End If
Next f
Var = Noms
End Sub
Daniel
Bonjour,
J'ai du mal à démarrer un code pouvez vous m'aider ou m'orienter
sur ce problème, merci.
J'ai un userform comprenant 4 frames dans c'est 4 frames se
trouvent 60 textboxs. Ces textboxs sont alimentés par une toupie.
est il possible de créer un code qui dirait lors du changement par
le bouton toupie :
Si l'un ou plusieurs des textboxs des frames 2,3 et 4 ont été
modifiés copier dans la dernière ligne vide de la feuille
"RecuperationDeDonnées" tous les textboxs des frames 2,3 et 4 et
que uniquement les textboxs modifiés soit en caractères rouges.
Merci pour votre aide
C'est en gros ce que je fais, sauf que les textboxes sont initialisés à
vide et pas alimentés par la toupie (je connais pas la règle pour
l'alimentation). Donc dans mon classeur de test je ne trouve que des
textboxes vides ou modifiés.
Voici l'adresse du classeur avec lequel j'ai testé :
http://cjoint.com/?crrVHWFQ4B
Si tu le peux, poste un classeur dépouillé de tout ce qui n'est pas utile.
DanielPour faire plus simple,
je pensais qu'il serait préférable de faire un code qui dit si on modifie
un texbox que ses caractères deviennent rouges puis par défaut copier les
valeurs de tous les textboxs vers la feuille(recuperationsDesDonnée) a
chaque spinbutton up
donc j'ai commencé un code comme ceci mais avec des lacunes(beaucoup de
lacunes)
dans userform inizialise
dim Ctrl as control
for each Ctrl in me.controls
if me.controls change then 'je ne sais pas comment dire "si mon
controls change"
me.control.font.colorindex = 3
end if
next
dans spin button change
With Worksheets("recuperationDesDonnées")
derligne = .Range("A65536").End(xlUp).Row + 1
.cells(derligne,1) = me.te_invchmal 'dans ce cas je ne sais pas si il va
copier la forme (rouge si modifié)
.cells(derligne,2) = me.te_invchfem
ainsi de suite sur tous les texbox
end with
Autres problèmes je suis dans spinbutton change et je voudrais que la
copie vers recupdesdonnée ce fasse uniquement en spinbutton_up et j ai
besoin du down pour revenir en arrière. Et apparement ou je ne sais pas
faire, je ne peux faire apparaitre qu une forme de code (up ou down ou
change).
merci pour le temps passé avec moi
"DOMINIQUE" a écrit dans le message de groupe de
discussion : uuxYRj#merci alors l'erreur identifié est "next sans for" donc machinalement j
ai enlevé un next et ensuite il me donne l erreur if sans end if
pour tant le nombre de next a l'air bon et idem pour les if. bizarre!
"Daniel.C" a écrit dans le message de groupe
de discussion : exLPsY#Difficile de dire.
Remplace la ligne en erreur par :
On Error Resume Next
Valeurs(Ctr) = c.Text
if Err.NUmber <>0 then
MsgBox c.text
MsgBox Ctr
MsgBox Valeurs(Ctr)
Exit Sub
et poste en retour le contenu des Msgbox.
DanielMerci Daniel
ca avance, maintenant je me trouve avec "l'erreur 458 propriété ou
méthode non géré par cet objet" et sur lignage de la ligne :
Valeurs(Ctr) = c.Text
"Daniel.C" a écrit dans le message de
groupe de discussion : uneJGC#Au temps pour moi; j'ai oublié de te dire de mettre la ligne :
Public Noms(), Valeurs()
au début d'un module standard.
DanielBonjour Daniel C
Merci pour le travail mais j ai une erreur dans le code Private Sub
UserForm_Activate()
qui indique "erreur de compilation : variable non définie" et
surligne en bleu
la ligne ReDim Preserve Noms(Ctr)
et encore merci car c'est au dessus de mon niveau
Pour apprendre pourrais tu m'expliquer userform_activate , je
connaissais userform_initialize
merci
"Daniel.C" a écrit dans le message de
groupe de discussion :Bonjour.
Utilise le code suivant :
Private Sub SpinButton1_Change()
Dim Ctr As Integer, f As Control, Test As Boolean
With Sheets("RecuperationDeDonnées")
Ctr = .[A65000].End(xlUp).Row + 1
For Each f In Me.Controls
If TypeOf f Is Frame Then
If f.Name <> "Frame1" Then
For Each Item In f.Controls
i = i + 1
.Cells(Ctr, i) = Item.Value
Var = Application.Match(Item.Name, Noms, 0)
'ôter
If Valeurs(Application.Match(Item.Name, Noms,
0) - 1) <> Item.Value Then
Test = True
.Cells(Ctr, i).Font.ColorIndex = 3
End If
Next
End If
End If
Next f
If Test = False Then Rows(Ctr).Clear
End With
End Sub
Private Sub UserForm_Activate()
Dim Ctr As Integer
Ctr = -1
For Each f In Me.Controls
If TypeOf f Is Frame Then
If f.Name <> "Frame1" Then
For Each c In f.Controls
Ctr = Ctr + 1
ReDim Preserve Noms(Ctr)
ReDim Preserve Valeurs(Ctr)
Noms(Ctr) = c.Name
Valeurs(Ctr) = c.Text
Next
End If
End If
Next f
Var = Noms
End Sub
DanielBonjour,
J'ai du mal à démarrer un code pouvez vous m'aider ou m'orienter
sur ce problème, merci.
J'ai un userform comprenant 4 frames dans c'est 4 frames se
trouvent 60 textboxs. Ces textboxs sont alimentés par une toupie.
est il possible de créer un code qui dirait lors du changement par
le bouton toupie :
Si l'un ou plusieurs des textboxs des frames 2,3 et 4 ont été
modifiés copier dans la dernière ligne vide de la feuille
"RecuperationDeDonnées" tous les textboxs des frames 2,3 et 4 et
que uniquement les textboxs modifiés soit en caractères rouges.
Merci pour votre aide
voici le lien
http://www.cijoint.fr/cjlink.php?file=cj201002/cijO6gHeVx.xlsm
une question si cela te dérange pas : Quant tu va démarrer l'userform, mon
userform arrive vide il faut cliquer une fois sur la toupie pour avoir les
premières données . est il possible de le démarrer charger avec la première
ligne?
puis comme tu peux le voir j ai des checkbox et des option button pareil il
faut que je prévoie une colonne pour chaque dans recuperation de données.
faut il le prévoir maintenant ou je pourrai le gérer après?
puis encore merci pour ton investissement ce qui me permet d apprendre
"Daniel.C" a écrit dans le message de groupe de
discussion : ObCt7H$C'est en gros ce que je fais, sauf que les textboxes sont initialisés à
vide et pas alimentés par la toupie (je connais pas la règle pour
l'alimentation). Donc dans mon classeur de test je ne trouve que des
textboxes vides ou modifiés.
Voici l'adresse du classeur avec lequel j'ai testé :
http://cjoint.com/?crrVHWFQ4B
Si tu le peux, poste un classeur dépouillé de tout ce qui n'est pas utile.
DanielPour faire plus simple,
je pensais qu'il serait préférable de faire un code qui dit si on modifie
un texbox que ses caractères deviennent rouges puis par défaut copier les
valeurs de tous les textboxs vers la feuille(recuperationsDesDonnée) a
chaque spinbutton up
donc j'ai commencé un code comme ceci mais avec des lacunes(beaucoup de
lacunes)
dans userform inizialise
dim Ctrl as control
for each Ctrl in me.controls
if me.controls change then 'je ne sais pas comment dire "si mon
controls change"
me.control.font.colorindex = 3
end if
next
dans spin button change
With Worksheets("recuperationDesDonnées")
derligne = .Range("A65536").End(xlUp).Row + 1
.cells(derligne,1) = me.te_invchmal 'dans ce cas je ne sais pas si il va
copier la forme (rouge si modifié)
.cells(derligne,2) = me.te_invchfem
ainsi de suite sur tous les texbox
end with
Autres problèmes je suis dans spinbutton change et je voudrais que la
copie vers recupdesdonnée ce fasse uniquement en spinbutton_up et j ai
besoin du down pour revenir en arrière. Et apparement ou je ne sais pas
faire, je ne peux faire apparaitre qu une forme de code (up ou down ou
change).
merci pour le temps passé avec moi
"DOMINIQUE" a écrit dans le message de groupe de
discussion : uuxYRj#merci alors l'erreur identifié est "next sans for" donc machinalement j
ai enlevé un next et ensuite il me donne l erreur if sans end if
pour tant le nombre de next a l'air bon et idem pour les if. bizarre!
"Daniel.C" a écrit dans le message de groupe
de discussion : exLPsY#Difficile de dire.
Remplace la ligne en erreur par :
On Error Resume Next
Valeurs(Ctr) = c.Text
if Err.NUmber <>0 then
MsgBox c.text
MsgBox Ctr
MsgBox Valeurs(Ctr)
Exit Sub
et poste en retour le contenu des Msgbox.
DanielMerci Daniel
ca avance, maintenant je me trouve avec "l'erreur 458 propriété ou
méthode non géré par cet objet" et sur lignage de la ligne :
Valeurs(Ctr) = c.Text
"Daniel.C" a écrit dans le message de groupe
de discussion : uneJGC#Au temps pour moi; j'ai oublié de te dire de mettre la ligne :
Public Noms(), Valeurs()
au début d'un module standard.
DanielBonjour Daniel C
Merci pour le travail mais j ai une erreur dans le code Private Sub
UserForm_Activate()
qui indique "erreur de compilation : variable non définie" et
surligne en bleu
la ligne ReDim Preserve Noms(Ctr)
et encore merci car c'est au dessus de mon niveau
Pour apprendre pourrais tu m'expliquer userform_activate , je
connaissais userform_initialize
merci
"Daniel.C" a écrit dans le message de
groupe de discussion :Bonjour.
Utilise le code suivant :
Private Sub SpinButton1_Change()
Dim Ctr As Integer, f As Control, Test As Boolean
With Sheets("RecuperationDeDonnées")
Ctr = .[A65000].End(xlUp).Row + 1
For Each f In Me.Controls
If TypeOf f Is Frame Then
If f.Name <> "Frame1" Then
For Each Item In f.Controls
i = i + 1
.Cells(Ctr, i) = Item.Value
Var = Application.Match(Item.Name, Noms, 0) 'ôter
If Valeurs(Application.Match(Item.Name, Noms, 0)
- 1) <> Item.Value Then
Test = True
.Cells(Ctr, i).Font.ColorIndex = 3
End If
Next
End If
End If
Next f
If Test = False Then Rows(Ctr).Clear
End With
End Sub
Private Sub UserForm_Activate()
Dim Ctr As Integer
Ctr = -1
For Each f In Me.Controls
If TypeOf f Is Frame Then
If f.Name <> "Frame1" Then
For Each c In f.Controls
Ctr = Ctr + 1
ReDim Preserve Noms(Ctr)
ReDim Preserve Valeurs(Ctr)
Noms(Ctr) = c.Name
Valeurs(Ctr) = c.Text
Next
End If
End If
Next f
Var = Noms
End Sub
DanielBonjour,
J'ai du mal à démarrer un code pouvez vous m'aider ou m'orienter
sur ce problème, merci.
J'ai un userform comprenant 4 frames dans c'est 4 frames se
trouvent 60 textboxs. Ces textboxs sont alimentés par une toupie.
est il possible de créer un code qui dirait lors du changement par
le bouton toupie :
Si l'un ou plusieurs des textboxs des frames 2,3 et 4 ont été
modifiés copier dans la dernière ligne vide de la feuille
"RecuperationDeDonnées" tous les textboxs des frames 2,3 et 4 et
que uniquement les textboxs modifiés soit en caractères rouges.
Merci pour votre aide
voici le lien
http://www.cijoint.fr/cjlink.php?file=cj201002/cijO6gHeVx.xlsm
une question si cela te dérange pas : Quant tu va démarrer l'userform, mon
userform arrive vide il faut cliquer une fois sur la toupie pour avoir les
premières données . est il possible de le démarrer charger avec la première
ligne?
puis comme tu peux le voir j ai des checkbox et des option button pareil il
faut que je prévoie une colonne pour chaque dans recuperation de données.
faut il le prévoir maintenant ou je pourrai le gérer après?
puis encore merci pour ton investissement ce qui me permet d apprendre
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de groupe de
discussion : ObCt7H$rKHA.5568@TK2MSFTNGP05.phx.gbl...
C'est en gros ce que je fais, sauf que les textboxes sont initialisés à
vide et pas alimentés par la toupie (je connais pas la règle pour
l'alimentation). Donc dans mon classeur de test je ne trouve que des
textboxes vides ou modifiés.
Voici l'adresse du classeur avec lequel j'ai testé :
http://cjoint.com/?crrVHWFQ4B
Si tu le peux, poste un classeur dépouillé de tout ce qui n'est pas utile.
Daniel
Pour faire plus simple,
je pensais qu'il serait préférable de faire un code qui dit si on modifie
un texbox que ses caractères deviennent rouges puis par défaut copier les
valeurs de tous les textboxs vers la feuille(recuperationsDesDonnée) a
chaque spinbutton up
donc j'ai commencé un code comme ceci mais avec des lacunes(beaucoup de
lacunes)
dans userform inizialise
dim Ctrl as control
for each Ctrl in me.controls
if me.controls change then 'je ne sais pas comment dire "si mon
controls change"
me.control.font.colorindex = 3
end if
next
dans spin button change
With Worksheets("recuperationDesDonnées")
derligne = .Range("A65536").End(xlUp).Row + 1
.cells(derligne,1) = me.te_invchmal 'dans ce cas je ne sais pas si il va
copier la forme (rouge si modifié)
.cells(derligne,2) = me.te_invchfem
ainsi de suite sur tous les texbox
end with
Autres problèmes je suis dans spinbutton change et je voudrais que la
copie vers recupdesdonnée ce fasse uniquement en spinbutton_up et j ai
besoin du down pour revenir en arrière. Et apparement ou je ne sais pas
faire, je ne peux faire apparaitre qu une forme de code (up ou down ou
change).
merci pour le temps passé avec moi
"DOMINIQUE" <DLECORNU@FDC-28.local> a écrit dans le message de groupe de
discussion : uuxYRj#rKHA.4632@TK2MSFTNGP06.phx.gbl...
merci alors l'erreur identifié est "next sans for" donc machinalement j
ai enlevé un next et ensuite il me donne l erreur if sans end if
pour tant le nombre de next a l'air bon et idem pour les if. bizarre!
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de groupe
de discussion : exLPsY#rKHA.6004@TK2MSFTNGP04.phx.gbl...
Difficile de dire.
Remplace la ligne en erreur par :
On Error Resume Next
Valeurs(Ctr) = c.Text
if Err.NUmber <>0 then
MsgBox c.text
MsgBox Ctr
MsgBox Valeurs(Ctr)
Exit Sub
et poste en retour le contenu des Msgbox.
Daniel
Merci Daniel
ca avance, maintenant je me trouve avec "l'erreur 458 propriété ou
méthode non géré par cet objet" et sur lignage de la ligne :
Valeurs(Ctr) = c.Text
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de groupe
de discussion : uneJGC#rKHA.732@TK2MSFTNGP06.phx.gbl...
Au temps pour moi; j'ai oublié de te dire de mettre la ligne :
Public Noms(), Valeurs()
au début d'un module standard.
Daniel
Bonjour Daniel C
Merci pour le travail mais j ai une erreur dans le code Private Sub
UserForm_Activate()
qui indique "erreur de compilation : variable non définie" et
surligne en bleu
la ligne ReDim Preserve Noms(Ctr)
et encore merci car c'est au dessus de mon niveau
Pour apprendre pourrais tu m'expliquer userform_activate , je
connaissais userform_initialize
merci
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de
groupe de discussion : eXpioa9rKHA.3800@TK2MSFTNGP06.phx.gbl...
Bonjour.
Utilise le code suivant :
Private Sub SpinButton1_Change()
Dim Ctr As Integer, f As Control, Test As Boolean
With Sheets("RecuperationDeDonnées")
Ctr = .[A65000].End(xlUp).Row + 1
For Each f In Me.Controls
If TypeOf f Is Frame Then
If f.Name <> "Frame1" Then
For Each Item In f.Controls
i = i + 1
.Cells(Ctr, i) = Item.Value
Var = Application.Match(Item.Name, Noms, 0) 'ôter
If Valeurs(Application.Match(Item.Name, Noms, 0)
- 1) <> Item.Value Then
Test = True
.Cells(Ctr, i).Font.ColorIndex = 3
End If
Next
End If
End If
Next f
If Test = False Then Rows(Ctr).Clear
End With
End Sub
Private Sub UserForm_Activate()
Dim Ctr As Integer
Ctr = -1
For Each f In Me.Controls
If TypeOf f Is Frame Then
If f.Name <> "Frame1" Then
For Each c In f.Controls
Ctr = Ctr + 1
ReDim Preserve Noms(Ctr)
ReDim Preserve Valeurs(Ctr)
Noms(Ctr) = c.Name
Valeurs(Ctr) = c.Text
Next
End If
End If
Next f
Var = Noms
End Sub
Daniel
Bonjour,
J'ai du mal à démarrer un code pouvez vous m'aider ou m'orienter
sur ce problème, merci.
J'ai un userform comprenant 4 frames dans c'est 4 frames se
trouvent 60 textboxs. Ces textboxs sont alimentés par une toupie.
est il possible de créer un code qui dirait lors du changement par
le bouton toupie :
Si l'un ou plusieurs des textboxs des frames 2,3 et 4 ont été
modifiés copier dans la dernière ligne vide de la feuille
"RecuperationDeDonnées" tous les textboxs des frames 2,3 et 4 et
que uniquement les textboxs modifiés soit en caractères rouges.
Merci pour votre aide
voici le lien
http://www.cijoint.fr/cjlink.php?file=cj201002/cijO6gHeVx.xlsm
une question si cela te dérange pas : Quant tu va démarrer l'userform, mon
userform arrive vide il faut cliquer une fois sur la toupie pour avoir les
premières données . est il possible de le démarrer charger avec la première
ligne?
puis comme tu peux le voir j ai des checkbox et des option button pareil il
faut que je prévoie une colonne pour chaque dans recuperation de données.
faut il le prévoir maintenant ou je pourrai le gérer après?
puis encore merci pour ton investissement ce qui me permet d apprendre
"Daniel.C" a écrit dans le message de groupe de
discussion : ObCt7H$C'est en gros ce que je fais, sauf que les textboxes sont initialisés à
vide et pas alimentés par la toupie (je connais pas la règle pour
l'alimentation). Donc dans mon classeur de test je ne trouve que des
textboxes vides ou modifiés.
Voici l'adresse du classeur avec lequel j'ai testé :
http://cjoint.com/?crrVHWFQ4B
Si tu le peux, poste un classeur dépouillé de tout ce qui n'est pas utile.
DanielPour faire plus simple,
je pensais qu'il serait préférable de faire un code qui dit si on modifie
un texbox que ses caractères deviennent rouges puis par défaut copier les
valeurs de tous les textboxs vers la feuille(recuperationsDesDonnée) a
chaque spinbutton up
donc j'ai commencé un code comme ceci mais avec des lacunes(beaucoup de
lacunes)
dans userform inizialise
dim Ctrl as control
for each Ctrl in me.controls
if me.controls change then 'je ne sais pas comment dire "si mon
controls change"
me.control.font.colorindex = 3
end if
next
dans spin button change
With Worksheets("recuperationDesDonnées")
derligne = .Range("A65536").End(xlUp).Row + 1
.cells(derligne,1) = me.te_invchmal 'dans ce cas je ne sais pas si il va
copier la forme (rouge si modifié)
.cells(derligne,2) = me.te_invchfem
ainsi de suite sur tous les texbox
end with
Autres problèmes je suis dans spinbutton change et je voudrais que la
copie vers recupdesdonnée ce fasse uniquement en spinbutton_up et j ai
besoin du down pour revenir en arrière. Et apparement ou je ne sais pas
faire, je ne peux faire apparaitre qu une forme de code (up ou down ou
change).
merci pour le temps passé avec moi
"DOMINIQUE" a écrit dans le message de groupe de
discussion : uuxYRj#merci alors l'erreur identifié est "next sans for" donc machinalement j
ai enlevé un next et ensuite il me donne l erreur if sans end if
pour tant le nombre de next a l'air bon et idem pour les if. bizarre!
"Daniel.C" a écrit dans le message de groupe
de discussion : exLPsY#Difficile de dire.
Remplace la ligne en erreur par :
On Error Resume Next
Valeurs(Ctr) = c.Text
if Err.NUmber <>0 then
MsgBox c.text
MsgBox Ctr
MsgBox Valeurs(Ctr)
Exit Sub
et poste en retour le contenu des Msgbox.
DanielMerci Daniel
ca avance, maintenant je me trouve avec "l'erreur 458 propriété ou
méthode non géré par cet objet" et sur lignage de la ligne :
Valeurs(Ctr) = c.Text
"Daniel.C" a écrit dans le message de groupe
de discussion : uneJGC#Au temps pour moi; j'ai oublié de te dire de mettre la ligne :
Public Noms(), Valeurs()
au début d'un module standard.
DanielBonjour Daniel C
Merci pour le travail mais j ai une erreur dans le code Private Sub
UserForm_Activate()
qui indique "erreur de compilation : variable non définie" et
surligne en bleu
la ligne ReDim Preserve Noms(Ctr)
et encore merci car c'est au dessus de mon niveau
Pour apprendre pourrais tu m'expliquer userform_activate , je
connaissais userform_initialize
merci
"Daniel.C" a écrit dans le message de
groupe de discussion :Bonjour.
Utilise le code suivant :
Private Sub SpinButton1_Change()
Dim Ctr As Integer, f As Control, Test As Boolean
With Sheets("RecuperationDeDonnées")
Ctr = .[A65000].End(xlUp).Row + 1
For Each f In Me.Controls
If TypeOf f Is Frame Then
If f.Name <> "Frame1" Then
For Each Item In f.Controls
i = i + 1
.Cells(Ctr, i) = Item.Value
Var = Application.Match(Item.Name, Noms, 0) 'ôter
If Valeurs(Application.Match(Item.Name, Noms, 0)
- 1) <> Item.Value Then
Test = True
.Cells(Ctr, i).Font.ColorIndex = 3
End If
Next
End If
End If
Next f
If Test = False Then Rows(Ctr).Clear
End With
End Sub
Private Sub UserForm_Activate()
Dim Ctr As Integer
Ctr = -1
For Each f In Me.Controls
If TypeOf f Is Frame Then
If f.Name <> "Frame1" Then
For Each c In f.Controls
Ctr = Ctr + 1
ReDim Preserve Noms(Ctr)
ReDim Preserve Valeurs(Ctr)
Noms(Ctr) = c.Name
Valeurs(Ctr) = c.Text
Next
End If
End If
Next f
Var = Noms
End Sub
DanielBonjour,
J'ai du mal à démarrer un code pouvez vous m'aider ou m'orienter
sur ce problème, merci.
J'ai un userform comprenant 4 frames dans c'est 4 frames se
trouvent 60 textboxs. Ces textboxs sont alimentés par une toupie.
est il possible de créer un code qui dirait lors du changement par
le bouton toupie :
Si l'un ou plusieurs des textboxs des frames 2,3 et 4 ont été
modifiés copier dans la dernière ligne vide de la feuille
"RecuperationDeDonnées" tous les textboxs des frames 2,3 et 4 et
que uniquement les textboxs modifiés soit en caractères rouges.
Merci pour votre aide
Attention GestionDeSpinInvententaire gere aussi les label tout ce qui
commence par "la" est un label et tou ce qui commence par "te" est un textbox
par op un optionbouton
Attention GestionDeSpinInvententaire gere aussi les label tout ce qui
commence par "la" est un label et tou ce qui commence par "te" est un textbox
par op un optionbouton
Attention GestionDeSpinInvententaire gere aussi les label tout ce qui
commence par "la" est un label et tou ce qui commence par "te" est un textbox
par op un optionbouton
Il y a 6 frames à textboxes :
Frame400
Frame500
Frame9000
Frame1200
Frame1300
Frame100
Lesquels considérer ?
DanielAttention GestionDeSpinInvententaire gere aussi les label tout ce qui
commence par "la" est un label et tou ce qui commence par "te" est un
textbox par op un optionbouton
Il y a 6 frames à textboxes :
Frame400
Frame500
Frame9000
Frame1200
Frame1300
Frame100
Lesquels considérer ?
Daniel
Attention GestionDeSpinInvententaire gere aussi les label tout ce qui
commence par "la" est un label et tou ce qui commence par "te" est un
textbox par op un optionbouton
Il y a 6 frames à textboxes :
Frame400
Frame500
Frame9000
Frame1200
Frame1300
Frame100
Lesquels considérer ?
DanielAttention GestionDeSpinInvententaire gere aussi les label tout ce qui
commence par "la" est un label et tou ce qui commence par "te" est un
textbox par op un optionbouton
Le 17/02/2010 19:40, Daniel.C a écrit :Il y a 6 frames à textboxes :
Frame400
Frame500
Frame9000
Frame1200
Frame1300
Frame100
Lesquels considérer ?
DanielAttention GestionDeSpinInvententaire gere aussi les label tout ce qui
commence par "la" est un label et tou ce qui commence par "te" est un
textbox par op un optionbouton
le frame 2007 et frame 700 et frame11 contient aussi des textbox en faites
tous les frames sauf le frame1. Je n ai pas besoins des données du frame1.
le Fra_EvolutionPopuCerf et le Fra_EvolutionPopuCH sont des optionboutons. et
c vrai que j aurai besoin des données cocher (+,-ou=).
merci
Le 17/02/2010 19:40, Daniel.C a écrit :
Il y a 6 frames à textboxes :
Frame400
Frame500
Frame9000
Frame1200
Frame1300
Frame100
Lesquels considérer ?
Daniel
Attention GestionDeSpinInvententaire gere aussi les label tout ce qui
commence par "la" est un label et tou ce qui commence par "te" est un
textbox par op un optionbouton
le frame 2007 et frame 700 et frame11 contient aussi des textbox en faites
tous les frames sauf le frame1. Je n ai pas besoins des données du frame1.
le Fra_EvolutionPopuCerf et le Fra_EvolutionPopuCH sont des optionboutons. et
c vrai que j aurai besoin des données cocher (+,-ou=).
merci
Le 17/02/2010 19:40, Daniel.C a écrit :Il y a 6 frames à textboxes :
Frame400
Frame500
Frame9000
Frame1200
Frame1300
Frame100
Lesquels considérer ?
DanielAttention GestionDeSpinInvententaire gere aussi les label tout ce qui
commence par "la" est un label et tou ce qui commence par "te" est un
textbox par op un optionbouton
le frame 2007 et frame 700 et frame11 contient aussi des textbox en faites
tous les frames sauf le frame1. Je n ai pas besoins des données du frame1.
le Fra_EvolutionPopuCerf et le Fra_EvolutionPopuCH sont des optionboutons. et
c vrai que j aurai besoin des données cocher (+,-ou=).
merci