Windows 7 - Afficher_la_dernière_valeur_dans_une_textbox..

Asked By zimou on 13-Aug-12 07:00 AM
Bonjour,
j'ai cr=E9e une UF pour alimenter une BD. ce que je veux faire est le suiva=
nt:
au d=E9marrage de la UF, je veux faire afficher le contenu de la derni=E8re=
cellule +1 (qui elle est situ=E9 sur la feuille 2 colonne  e:e) dans une t=
extBox2,
lorsque je valide (ok) la UF, je veux que la valeur affich=E9e dans cette t=
extbox soit enregistrer dans la feuil2 colonne e:e.

comment le faire en VBA.
merci d'avance




MichD replied to zimou on 13-Aug-12 07:44 AM
Bonjour,

Ce code dans le formulaire :

A ) Pour afficher le contenu de la derni?re cellule de la colonne E dans un textbox situ?
dans la feuil2

Dim DerLig As Long
With Worksheets("Feuil2")
DerLig = .Range("E65536").end(xlup).row
Me.Textbox = .Range("E" & DerLig)
End With

Si tu veux affecter le contenu du textbox ? la cellule suivante de la derni?re cellule
contenant une information
dans la colonne E de la feuil2

Dim DerLig As Long
With Worksheets("Feuil2")
DerLig = .Range("E65536").end(xlup).row +1
.Range("E" & DerLig) = Me.Textbox
End With

MichD
---------------------------------------------------------------
zimou replied to MichD on 13-Aug-12 08:31 AM
Le lundi 13 ao=FBt 2012 12:44:56 UTC+1, MichD a =E9crit=A0:
E dans un textbox situ=EF=BF=BD=20
e la derni=EF=BF=BDre cellule=20

BONJOUR ET MERCI POUR L'AIDe,
pouvez vouz me donner plus de pr=E9cision sur l'utilisation de ces 2 codes,=
o=F9 les mettre pr=E9cisiment car j'ai fais plusieurs essai mais en vain.
par exemple pour afficher le contenu de la derni=E8re cellule dans le textb=
ox :
j'ai mets le code dans les propri=E9t=E9 du textbox (sub ...etc);
dans initialize
dans le bouton de commande.
mais sans r=E9sultat.
merci d'avance
MichD replied to zimou on 13-Aug-12 08:45 AM
Fichier exemple ? t?l?charger :  http://cjoint.com/?BHnoS7bjEdl

Tu peux choisir d'autres ?v?nements cela d?pend du besoin de ton application.



MichD
---------------------------------------------------------------
zimou replied to MichD on 13-Aug-12 09:36 AM
Le lundi 13 ao=FBt 2012 13:45:53 UTC+1, MichD a =E9crit=A0:
m/?BHnoS7bjEdl
u besoin de ton application.

Merci pour le fichier joint,
ce que je veux moi c'est de faire appara=EEtre le contenu de la derni=E8re =
cellule additionner de 1 directement au d=E9marrage de la UF.
puis enregistrer la nouvelle valeur dans la colonne E
merci
MichD replied to zimou on 13-Aug-12 11:47 AM
Pour additionner "1" au contenu d'un textbox, tu dois utiliser une fonction de conversion.

la fonction Cdbl() si tu as un nombre avec des d?cimales
la fonction Clng() si tu as un nombre entier

Les fonctions de conversion requi?rent le s?parateur d?cimal d?fini dans le panneau de
configuration de Windows.
Tu peux consulter l'aide sous la rubrique "Fonction de conversion" d'Excel.


Voici le contenu de la proc?dure du formulaire :
La proc?dure suivante devrait fonctionner, peu importe le s?parateur d?cimal que tu
utilises dans le Textbox (point ou virgule)

Elle additionne 1 ? la valeur du Textbox et reporte la somme dans la premi?re cellule
disponible de la colonne E de la feuil1.

'-----------------------------------------------------
Private Sub CommandButton1_Click()
Dim DerLig As Long, T As Variant

With Worksheets("Feuil1")
DerLig = .Range("E65536").End(xlUp).Row + 1
T = Application.Substitute(Me.TextBox1, ".", ",")
If IsNumeric(T) Then
.Range("E" & DerLig) = CDbl(T) + 1
Else
MsgBox "V?rifier le contenu du textbox."
End If
End With

End Sub
'-----------------------------------------------------


MichD
---------------------------------------------------------------
3c2e2f86-bef0-496d-a3a4-8279015c4953@googlegroups.com...

Le lundi 13 ao?t 2012 13:45:53 UTC+1, MichD a ?crit :

Merci pour le fichier joint,
ce que je veux moi c'est de faire appara?tre le contenu de la derni?re cellule additionner
de 1 directement au d?marrage de la UF.
puis enregistrer la nouvelle valeur dans la colonne E
merci
zimou replied to zimou on 14-Aug-12 06:12 AM
Le lundi 13 ao=FBt 2012 12:00:45 UTC+1, zimou a =E9crit=A0:
vant:
re cellule +1 (qui elle est situ=E9 sur la feuille 2 colonne  e:e) dans une=
textBox2,
textbox soit enregistrer dans la feuil2 colonne e:e.

Bonjour MichD,
Merci pour ton pr=E9cieuse aide.
maintenant je veux que les donn=E9es contenues dans la feuil1 : de B5:F1000=
soient effacer automatiquement le 1 janvier de chaque ann=E9e mais en gard=
ant les formules qui sont dans les cellules.
Merci d'avance.
zimou replied to zimou on 14-Aug-12 06:43 AM
Le lundi 13 ao=FBt 2012 12:00:45 UTC+1, zimou a =E9crit=A0:
vant:
re cellule +1 (qui elle est situ=E9 sur la feuille 2 colonne  e:e) dans une=
textBox2,
textbox soit enregistrer dans la feuil2 colonne e:e.

Bonjour MichD et merci pour ton aide.
maintenant je veux que les donn=E9es de ma feuil1, cellules A5:f1000 soient=
effacer le 1 janvier de chaque ann=E9e tout en gardant les formules qui s'=
y trouvent.
merci d'avance
MichD replied to zimou on 14-Aug-12 08:05 AM
Bonjour,

|  je veux que les donn?es contenues dans la feuil1 : de B5:F1000 soient effacer
| automatiquement le 1 janvier de chaque ann?e mais en gardant les formules
| qui sont dans les cellules.


Tu places cette proc?dure dans un module standard et Tu ex?cutes la macro
un NOM (insertion / nom / d?finir) et tu lui attribues la valeur de l'ann?e courante.

Ce nom n'est pas visible dans la fen?tre des noms dans l'interface de la feuille de calcul
pour emp?cher de le supprimer par erreur.

'------------------------------------------------------------
Sub Cr?ation_Du_NOM()
Application.Names.Add "MDAnn?e", 2012, Visible:=False
End Sub
'------------------------------------------------------------

Tu places cette proc?dure dans le ThisWorkbook de ton classeur. ? chaque fois que tu
ouvriras
le classeur, la proc?dure testera si la date de l'ann?e courante est ?gale ? l'ann?e
inscrite dans
le NOM "MDAnn?e". Dans le cas o? elle est diff?rente, ceci signifie que l'ann?e vient de
changer
et elle efface les valeurs d?sir?es et met ? jour la valeur du nom "MDAnn?e" avec l'ann?e
en cours.

'------------------------------------------------------------
Private Sub Workbook_Open()
Dim Ann?eEnCours As Integer

Ann?eEnCours = Year(Date)
'Extraire la valeur du NOM
NomAnn?eEnCours = [MDAnn?e]

If Ann?eEnCours <> NomAnn?eEnCours Then
With Worksheets("Feuil1") 'Nom feuille ? adapater
On Error Resume Next
.Range("A5:f1000").SpecialCells(xlCellTypeConstants, 23).ClearContents
End With
Application.Names.Add "MDAnn?e", [2012] + 1, Visible:=False
End If
End Sub
'------------------------------------------------------------


MichD
---------------------------------------------------------------
zimou replied to MichD on 14-Aug-12 10:12 AM
Le mardi 14 ao=FBt 2012 13:05:36 UTC+1, MichD a =E9crit=A0:
t effacer
ules
acro
nn=E9e courante.
a feuille de calcul
que fois que tu=20
=E9gale =E0 l'ann=E9e=20
que l'ann=E9e vient de=20
tents

Merci MichD.
sa fonctionne parfaitement.
merci une deuxi=E8me fois.