renaud97434
Messages postés31Date d'inscriptionlundi 26 novembre 2007StatutMembreDernière intervention26 août 2008
-
28 nov. 2007 à 07:50
renaud97434
Messages postés31Date d'inscriptionlundi 26 novembre 2007StatutMembreDernière intervention26 août 2008
-
28 nov. 2007 à 12:17
bonjour,
1/je souhaite pouvoir lancer un userform depuis le bureau sans avoir à ouvrir un fichier excel.
il semble que cela soit possible en VB mais pas en VBA.
2/ dans ce userform j'ai une image jpg mais si je change la taille les proportions ne sont pas gardées si bien que je ne la voit plus.
comment faire pour changer cela.
3/ est ce que quelqu' un peut m'expliquer comment intégrer le résultat d'une fonction dans une macro.
sur ce forum, un pro m'a donné la procédure pour calculer le nombre d'occurences d'une colonne via une formule function.
je suis débutant donc j'ai essayé de mettre le code dans ma macro mais ce n'est pas possible. je ne sais lancer qu'une macro depuis l'écran exécution, mais pas les procédures functions.
comment faire?
renaud97434
Messages postés31Date d'inscriptionlundi 26 novembre 2007StatutMembreDernière intervention26 août 2008 28 nov. 2007 à 12:17
réponse:
1/ je ne connais pas le code c'est pourquoi je demande?????
2/ il n'y a pas de code il s'agit de toucher à certaines propritétés de l'image dans le userform?????
3/ voici le code:
'fonction trouver le nombre d'occurences
Function NbValUniques(plage As Range)
Dim ValeursUniques As New Collection
On Error Resume Next
For Each cell In plage
ValeursUniques.Add cell.Value, CStr(cell.Value)
Next cell
On Error GoTo 0
NbValUniques = ValeursUniques.Count
End Function
le problème est que je sais pas selectionner une plage de cellules conditionnées par un if avec une boucle qui regarde toutes les lignes
'macro compter les lignes et en fonction de la condition calculer les sommes de certaines colonnes et les mettre dans un fichier recap
Sub lignes()
Dim plage As Range
Dim i As Long
Dim j As Long
Dim s As Double
Dim t As Double
Dim u As Double
Dim v As Double
Dim w As Double
Dim x As Double
Dim y As Double
Dim z As Double
Dim a As Double
Dim b As Double
Dim c As Double
Dim d As Double
Dim e As Double
Dim f As Double
Dim g As Double
Dim h As Double
'initialisation des variables
plage = ""
i = 0
j = 0
s = 0
t = 0
u = 0
v = 0
w = 0
x = 0
y = 0
z = 0
a = 0
b = 0
c = 0
d = 0
e = 0
f = 0
g = 0
h = 0
Do While Sheets("extract").Cells(i + 2, 4) <> ""
i = i + 1
If Sheets("recap").Cells(5, 9) <= Sheets("extract").Cells(i + 1, 4) And Sheets("extract").Cells(i + 2, 4) <= Sheets("recap").Cells(6, 9) Then
j = j + 1
s = s + Sheets("extract").Cells(i + 1, 18).Value
t = t + Sheets("extract").Cells(i + 1, 9).Value
u = u + Sheets("extract").Cells(i + 1, 10).Value
v = v + Sheets("extract").Cells(i + 1, 19).Value
w = w + Sheets("extract").Cells(i + 1, 20).Value
x = x + Sheets("extract").Cells(i + 1, 21).Value
y = y + Sheets("extract").Cells(i + 1, 11).Value
z = z + Sheets("extract").Cells(i + 1, 12).Value
a = a + Sheets("extract").Cells(i + 1, 13).Value
b = b + Sheets("extract").Cells(i + 1, 14).Value
c = c + Sheets("extract").Cells(i + 1, 17).Value
d = d + Sheets("extract").Cells(i + 1, 3).Value
e = e + Sheets("extract").Cells(i + 1, 6).Value
f = f + Sheets("extract").Cells(i + 1, 7).Value
g = g + Sheets("extract").Cells(i + 1, 8).Value
h = h + Sheets("extract").Cells(i + 1, 15).Value
Else
j = j
s = s
t = t
u = u
v = v
w = w
x = x
y = y
z = z
a = a
b = b
c = c
d = d
e = e
f = f
g = g
h = h
End If
Loop
Sheets("recap").Cells(14, 13).Value = i
Sheets("recap").Cells(15, 13).Value = j
Sheets("recap").Cells(17, 13).Value = s
Sheets("recap").Cells(18, 13).Value = t
Sheets("recap").Cells(19, 13).Value = u
Sheets("recap").Cells(20, 13).Value = v
Sheets("recap").Cells(21, 13).Value = w
Sheets("recap").Cells(22, 13).Value = x
Sheets("recap").Cells(23, 13).Value = y
Sheets("recap").Cells(24, 13).Value = z
Sheets("recap").Cells(25, 13).Value = a
Sheets("recap").Cells(26, 13).Value = b
Sheets("recap").Cells(27, 13).Value = c
Sheets("recap").Cells(28, 13).Value = d
Sheets("recap").Cells(29, 13).Value = e
Sheets("recap").Cells(30, 13).Value = f
Sheets("recap").Cells(31, 13).Value = g
Sheets("recap").Cells(32, 13).Value = h