Formule et/ou macro Excel 2002
Salut a tous,
Voila, j'ai quelque question pour un fichier excel:
- - Dans une colonne C ou se trouve des valeur positive ou negative, je voudrai faire le total des valeur negative dans H22 et le total des valeur positive dans H23.
- - J'ai créer un formulaire via un userform, qui quand je clique sur "Ok" m'insert tous dans un tableau. Et je voudrai que si je clique sur "Ok" et qu'un champ est vide qu'il ne valide pas et avoir un avertisement.
- - Dans mon tableau, avec colonne A, B, C, D avec comme format de cellule:
A = date
B = standart
C = monétaire
D = standart
Dans mon formulaire, quand je valide, il ne prend pas en compte le format de cellule de destination, genant surtous pour la colonne C, car du coups, il ne mets pas le simbole €. Comment faire pour qu'il mette bien dans la cellule du format chiffre et non du format texte ? Et donc pour la colonne A et C j'ai une petite fleche rouge qui me marque "Nombre stocké sous forme de texte". - - Dans mon userform, comment effacer la crois qui sert pour fermer la boite de dialogue ? Je voudrai l'enlever car j'ai mis un bouton qui sert pour fermer.
- - Dans se tableau, je vais donc ajouter des renseignement par ligne grace au formulaire. Et je voudrai qu'en face de chaque ligne il y est une croix pour permettre d'effacer la ligne correspondant. Mets que cette croix soit presente que lorsque la ligne n'est pas vide.
- - Comment mettre une barre de deffillement pour le tableau ? J'ai figé le haut de tableau pour que le libellé de chque colonne reste quand je descant, mais le probleme c'est que tous se que j'ai a coté de mon tableau, lui n'est pas figé. Donc je voudrai mettre une barre de deffillement pour faire bougé seulement le tableau.
Merci d'avance pour toute votre aide.
J'ai trouver pour la question 3:
Range("A3").End(xlDown).Offset(1, 0) = Format(TextBox1.Value, "yy/mm/dd") 'Date
Range("A3").End(xlDown).Offset(0, 1) = ComboBox1 'Libellé
Range("A3").End(xlDown).Offset(0, 2) = Format(TextBox2.Value, "#,##0.00 €") 'Somme
Range("A3").End(xlDown).Offset(0, 3) = ComboBox2 'Nom
Salut le forum
Question #1
en H22 =SOMME.SI(C:C;"<0")
en H23 =SOMME.SI(C:C;">0")Question #2
Tu ajoutes les condition sur ton Bouton "OK"
If TextBox1.Value="" then
msgbox "Saiisi non valide"
Exit Sub
End IfQuestion #4
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then Cancel = True
End SubMytå
Mytå a écrit :Salut le forum
Vcloclo1 comme nouveau membres
Merci
Mytå a écrit :Question #1
en H22 =SOMME.SI(C:C;"<0") en H23 =SOMME.SI(C:C;">0")
Super c'est nickel chrome
Mytå a écrit :Question #2
Tu ajoutes les condition sur ton Bouton "OK"
If TextBox1.Value="" then msgbox "Saiisi non valide" Exit Sub End If
Sa marche, par contre sur un non. Dans le code:
'Si le champ Date est vide
If TextBox1.Value = "" Then
MsgBox "Champ Date non renseigner"
Exit Sub
End If
'Si le champ Libellé est vide
If ComboBox1.Value = "" Then
MsgBox "Champ Libellé non renseigner"
Exit Sub
End If
'Si le champ Somme est vide
If TextBox2.Value = "" Then
MsgBox "Aucune Somme entrée"
Exit Sub
End IfJ'ai celui la qui fonctionne pas:
'Si le champ Somme est vide
If TextBox2.Value = "" Then
MsgBox "Aucune Somme entrée"
Exit Sub
End IfMytå a écrit :Question #4
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If CloseMode = 0 Then Cancel = True End SubMytå
Je le mets ou, car j'ai testéet sa marche pas. J'i du faire une erreur.
Re le forum
Pour la Question #4 (Masquer la croix d'un UserForm)
'-- Dans la partie Déclaration de la Form :
Private Const SC_CLOSE = &HF060&
Private Const MF_BYCOMMAND = &H0&
Private Declare Function GetSystemMenu Lib "user32" _
(ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function RemoveMenu Lib "user32" _
(ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function FindWindowA Lib "user32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
'-- Dans l'évènement Initialise de la Form :
Private Sub UserForm_Initialize()
Dim hSysMenu As Long
Dim MeHwnd As Long
MeHwnd = FindWindowA(vbNullString, Me.Caption)
If MeHwnd > 0 Then
hSysMenu = GetSystemMenu(MeHwnd, False)
RemoveMenu hSysMenu, SC_CLOSE, MF_BYCOMMAND
Else
MsgBox "Handle de " & Me.Caption & " Introuvable", vbCritical
End If
End SubMytå
Avec ton code, la crois est toujours la, grisé mais la. Sur un autre code que l'on ma donné pour un autre fichier, sa m'enlever reellement la croix. Mais j'ai essayé de le mettre sur celui la et sa marche pas:
'suprime la croix de userform
Private Declare Function GetWindowLongA Lib "User32" _
(ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLongA Lib "User32" _
(ByVal hWnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Private Declare Function FindWindowA Lib "User32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
'suprime la croix de userform suite
Private Sub UserForm_Initialize()
Dim hWnd As Long
hWnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", _
"X", "D") & "Frame", Me.Caption)
SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) And &HFFF7FFFFRe le forum
Le plus simple serait de joindre ton fichier
Tu n'as qu'à cliquer sur ce lien : Joindre un fichier pour que l'on puisse t'aider, et recopier l'adresse sur ta ficelle.
Mytå
Je n'ai pas encore fini le fichier, mise en forme et autre.
Pour la croix c'est pas le plus pressé, par contre si vous avez une soluce pour la question 5 et 6
Une fois ça, je termine la mise en forme et je te mets l'url du fichier. Et la on se penchera alors sur le PB de la croix.
Voici mon fichier test, qui me sert pour tous mes test (normale
Merci
Voila, j'ai presque resolut tous les probleme ou chose que je voulais faire.
Il me reste quand meme les question 5 et 6.
Merci
Personne pour m'aider aux question 5 et 6