Garder les infos d'une feuille vb inclus dans un fichier Excel
cs_yomenn
Messages postés11Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention22 mai 2005
-
22 mai 2005 à 11:59
helioz
Messages postés14Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention 6 avril 2006
-
29 mars 2006 à 16:59
Bonjour
j'ai besoin de savoir comment dans un fichier excel faire la manip suivante.
j'ouvre un fichier excel dans une colonne une information permait l'ouverture d'une
d'une feuille et dans cette feuille je dois cocher ou pas suivant les cas.
La partie concernant l'ouverture de la feuille existe et fonctionne correctement,
je peux aussi cocher ou décocher ensuite dans la fenetre ouverte mais rien n'est sauve
gardé.
Pourriez vous m'expliquer comment garder les infos spécifiques a chaques cellules de la
colonne car lors de la fermeture de la feuille vb rien n'est conservé et je voudrais que cela soit attaché au fichier excel.
Merci par avance de vos réponses
A voir également:
Garder les infos d'une feuille vb inclus dans un fichier Excel
cs_yomenn
Messages postés11Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention22 mai 2005 22 mai 2005 à 12:36
Bonjour et merci
voici le code qui se trouve sur la feuille excel lorque que je lance donc c'est du vba
enfin je crois, je n'y connais pas grand chose et suis plus que débutant.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Column = 7 Then If ActiveCell.Value "blanc" Or ActiveCell.Value "gris" Then
UserForm1.Show
End If
End If
End Sub
cs_yomenn
Messages postés11Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention22 mai 2005 22 mai 2005 à 15:42
dans les checkbox je n'y ai rien rentré comme procédure
lors de l'affichage de userform on coche les indications si je rappelle le userform
en clicquant sur une cellule ayant les bonnes valeurs il doit me seulement afficher
le userform avec ce que j'ai rentré auparavant. (comme ci je voulais le modifier)
si je savais comment insere un fichier dans mon message tu pourrais plus facilement
comprendre ce que je veux car je dois assez mal m'expliquer
jpleroisse
Messages postés1788Date d'inscriptionmardi 7 novembre 2000StatutMembreDernière intervention11 mars 200627 22 mai 2005 à 16:36
OK, ton fichier est quand même pas trop long ?, tu peux l'écrire ici.
C'est facile, tu sélectionnes ton fichier (le texte) tu fais copier, tu
positionnes ton curseur ici dans la partie réservée à l'écriture et tu
fais Edition / coller.
cs_yomenn
Messages postés11Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention22 mai 2005 22 mai 2005 à 16:55
Voila ce qu'il y a dans le userform1
Private Sub CheckBox1_Click()
End Sub
Private Sub CheckBox2_Click()
End Sub
Private Sub CheckBox3_Click()
End Sub
Private Sub CheckBox4_Click()
End Sub
Private Sub CheckBox5_Click()
End Sub
Private Sub CheckBox6_Click()
End Sub
Private Sub CommandButton1_Click()
Unload Me
End Sub
Private Sub UserForm_Activate()
End Sub
Private Sub UserForm_Click()
End Sub
Comme tu peux le voir, il n'y a rien, si tu refais le fichier excel ,tu verras
lorsque tu as dans la cellule la condition l'ouverture du userform1
on dira que dans la cellule G4 la condition est ok et les checkbox sont 1,3 et 5 sont
coché
dans la cellule G5 seul la checkbox 4 est coché
dans la G7 la checkbox 2et 6 sont coché
C'est juste coché ou pas dans le userform1 mais distinct suivant la cellule.
donc je te dis pas le problème pour moije suppose que chaques cellules doivent gardé
ses propres infos
jpleroisse
Messages postés1788Date d'inscriptionmardi 7 novembre 2000StatutMembreDernière intervention11 mars 200627 22 mai 2005 à 18:15
Re,
J'ai arrangé le code, j'ai mis le code dans la procédure Change, parce
que dans la procédure SelectionChange, si le mot blans ou gris est
écrit ou non dans une cellule le UserForm va apparaitre chaque fois que
tu vas te déplacer dans la feuille.Ici le UserForm n'apparait que si tu
écrit le mot et que tu te déplaces ou fais Enter.
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
cs_yomenn
Messages postés11Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention22 mai 2005 22 mai 2005 à 20:22
enfin penses tu que ce soit viable car la j'ai juste dix cellule dans la colonne
mais je pense qu'il y en aura 200 alors il faudra entrer pour toutes les cellules
et j'ai du merder quelque part car cela affiche aussi la fenetre des autres cellules
et j'ai aussi le pb que si je coche une autre checkbox celle-ci n'est pas conservé.
cs_yomenn
Messages postés11Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention22 mai 2005 22 mai 2005 à 21:15
j'ai fait un copier /coller et lorsque que le userform1 apparait (colonne G4) il
m'affiche ensuite celle de g5 surement car il passe sur la cellule apres le "enter"
Enfin le probleme est que si un jour la colonne G6 passe a gris ou blanc il faudra
que je revois le code
tu vois ce que je veux dire, n'y a t'il pas un moyen que, quelle que soit la cellule de la colonne G, un enregistrement puisse etre pris en compte
Car aujourd'hui je marque rouge mais demain c'est blanc et dans 10 jours c'est gris
et les checkbox entre blanc et gris ne sont pas toutes identique ce qui fait qu'il
faille revoir le code a chanque changement
jpleroisse
Messages postés1788Date d'inscriptionmardi 7 novembre 2000StatutMembreDernière intervention11 mars 200627 22 mai 2005 à 21:39
Re,
Bien sur, il y a moyen de faire une boucle sur toute la colonne, le
problème vient que si la boucle trouve une cellule avec blanc ou gris,
le unserForm n'apparaitra q'une fois avec la dernière commande prise en
compte.Je vais réfléchir à tous celà pour voir ce que l'on peut faire
d'autres. Si je trouve mieux, je te posterai demain
helioz
Messages postés14Date d'inscriptionsamedi 11 novembre 2000StatutMembreDernière intervention 6 avril 2006 29 mars 2006 à 16:59
bjr a tous !!
j aurais voulu savoir comment faire l 'inverse...
comment faire pour que quand je coche un checkbox dans une form vb.net qu il aille cocher une case a cocher dans exel...
si quelqu un a une reponse ...
merci d'avance!