Bonjour question bête mais je lutte pour la syntaxe
comment remplacer la valeur B par une variable et que cela fonctionne :
MsgBox [subtotal(3, B:B)] - 1
Merci par avance
Bonjour question bête mais je lutte pour la syntaxe
comment remplacer la valeur B par une variable et que cela fonctionne :
MsgBox [subtotal(3, B:B)] - 1
Merci par avance
Bonsoir
Code : Sélectionner tout - Visualiser dans une fenêtre à part MsgBox Application.WorksheetFunction.Subtotal(3, Range(MaVariable & ":" & MaVariable))
"Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
---------------
Mes billets de blog sur DVP
Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
---------------
Bonsoir
Merci mais cela ne fonctionne pas. Voici le bout de code que je tente de faire (compter lignes non vides et seulement celles qui apparaissent quand colonne filtrée) :
Une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub CommandButton3_Click() Dim Message, Title, Default, MyValue Message = "Veuillez saisir la lettre de la colonne à analyser" & vbLf & vbLf & "Par exemple A pour la colonne A" Title = "Compter lignes non vides" MyValue = InputBox(Message, Title) 'MsgBox [subtotal(3, B:B)] - 1 MsgBox Application.WorksheetFunction.Subtotal(3, Range(MaVariable & ":" & MaVariable)) End Sub
Merci
Mea culpa
J'avais pas remplacé MaVariable par MyValue
Désolé
Et merci pour l'aide
Bonne soirée
Bonsoir le forum,
Dans le code que tu mets, tu initialises la variable
Ensuite tu renvoies :
Code : Sélectionner tout - Visualiser dans une fenêtre à part MyValue = InputBox(Message, Title)
Essaie de remplacer par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MsgBox Application.WorksheetFunction.Subtotal(3, Range(MaVariable & ":" & MaVariable))
Code : Sélectionner tout - Visualiser dans une fenêtre à part MsgBox Application.WorksheetFunction.Subtotal(3, Range(MyValue & ":" & MyValue))
Bonsoir le forum,
Voici ce que je te propose, je l'ai testé sur 2007, cela fonctionne pour moi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Sub test() 'ta formule MsgBox [SUBTOTAL(3,b:b)] - 1 Dim vRange As Range Set vRange = Columns(2) aa = WorksheetFunction.Subtotal(3, vRange) MsgBox WorksheetFunction.Subtotal(3, vRange) - 1 End Sub
Partager