Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Vb enregister nombre de cellule pleine dans variable

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Arpette

XLDnaute Impliqué
Bonsoir à toutes et à tous,
je fais pour mon ami Gardian un USF pour suivre son activité en tant qu'éleveur de veaux. J'ai réussi à faire le suivi médical, mais maintenant je dois faire la gestion des stocks. Je n'ai pas de problème pour les entrées, mais un problème pour les sorties. Il me faut stocker dans une variable les cellules non vides sur d'une feuille et colonne ( tout est dans le même classeur). Je n'arrive pas à isoler cette info. Ci-joint le code où je veux l'info et le fichier si pour avoir vos immpressions
Merci de votre aide, surtout pour notre ami Gardian.
@+

Code:
Private Sub CommandButton3_click()
Application.ScreenUpdating = False
Dim DernLign As Long
Dim R As Integer
With Sheets("Alimentation")
        'On mémorise dans DernLign le numéro de la première ligne libre de la feuille Alimentation
        DernLign = .Cells(.Rows.Count, 4).End(xlUp).Row + 1
        'On met à jour la feuille Alimentation avec les données du Userform
        If TextBox6.Value = "" Then
        TextBox6.Value = 0
        .Cells(DernLign, 4).Value = TextBox6.Value * 1250
        End If
With Sheets("Identifiants")
        R = .CountF(Range("F2:F65536"))
         .Cells(DernLign, 5).Value = TextBox7.Value
         .Cells(DernLign, 6).Value = .Cells(DernLign, 4) - .Cells(DernLign, 6).Value
          Cells(2, 12).Value = TextBox8.Value
        
End With
End With
Application.ScreenUpdating = True
End Sub
 

Pièces jointes

Re : Vb enregister nombre de cellule pleine dans variable

Bonjour,

J'avoue ne pas trop comprendre ta demande Il me faut stocker dans une variable les cellules non vides sur d'une feuille et colonne ( tout est dans le même classeur). Je n'arrive pas à isoler cette info
Si tu pouvais être plus précis...
Pour moi stock=stock initial + entrées - sorties

Et bizarre (?), mais dans ton code tu calcules dernlign dans 'Alimentation' et ensuite tu te sers dans de la même ligne dans 'identifiants'. C'est normal ça ?

eric

PS: et la 1ère ligne libre ça ne serait pas celle de la date en colonne A ?
 
Dernière édition:
Re : Vb enregister nombre de cellule pleine dans variable


Bonsoir Eric, je suis un peu fatigué: c'est vrai quand je relis mon post c'est nul. Pour les entrées le code ci-dessous est correcte
Code:
With Sheets("Alimentation")
        'On mémorise dans DernLign le numéro de la première ligne libre de la feuille Alimentation
        DernLign = .Cells(.Rows.Count, 4).End(xlUp).Row + 1
        'On met à jour la feuille Alimentation avec les données du Userform
        If TextBox6.Value = "" Then
        TextBox6.Value = 0
        .Cells(DernLign, 4).Value = TextBox6.Value * 1250
        End If
Par contre, pour les sorties il faut regarder dans la feuille "Identifiants" colonne F et mémoriser dans une variable le nombre de cellules non vides de F2 à F65536, pour ensuite faire mes calculs.
Merci de ton aide
@+
 
Re : Vb enregister nombre de cellule pleine dans variable

Re,
Bonjour c-c,

Je crois que j'ai compris ta question :
R = Application.CountA(Sheets("Identifiants").Range("F2:F65536"))

eric

edit :
et j'insiste avec :
'On mémorise dans DernLign le numéro de la première ligne libre de la feuille Alimentation
DernLign = .Cells(.Rows.Count, 4).End(xlUp).Row + 1
Tu as la 1ère ligne libre de la colonne D, pas de la feuille...
Si tu as une 'sortie' en ligne suivante la ligne est occupée, vaut peut-être mieux te baser sur une colonne toujours saisie comme la date (en A)
 
Dernière édition:
Re : Vb enregister nombre de cellule pleine dans variable

Bonjour c-c et merci de ta réponse. Le problème est que je veux la lancer quand je clique sur le bouton de mon usf.
Merci de ton aide.

Code:
Private Sub CommandButton3_click()
Application.ScreenUpdating = False
Dim DernLign As Long
Dim NB&, cell As Range
With Sheets("Alimentation")
        'On mémorise dans DernLign le numéro de la première ligne libre de la feuille Alimentation
        DernLign = .Cells(.Rows.Count, 4).End(xlUp).Row + 1
        'On met à jour la feuille Alimentation avec les données du Userform
        If TextBox6.Value = "" Then
        TextBox6.Value = 0
        .Cells(DernLign, 4).Value = TextBox6.Value * 1250
        End If
With Sheets("Identifiants")
   Call Comptage
    NB = 0
    Application.ScreenUpdating = False
    With Sheets("Identifiants")
        For Each cell In Range("F2:F65536")
            If cell <> "" Then NB = NB + 1    'possibilité de compter les "M" ou les "F"
        Next cell
    End With
    Application.ScreenUpdating = True
    TextBox7.Value = NB
    .Cells(DernLign, 5).Value = TextBox7.Value
    '.Cells(DernLign, 6).Value = .Cells(DernLign, 4) - .Cells(DernLign, 6).Value
    Cells(2, 12).Value = TextBox8.Value

End With
End With

Application.ScreenUpdating = True
End Sub
End Sub
 
Re : Vb enregister nombre de cellule pleine dans variable

Bonjour Arpette, eriiiic, C-C 🙂,
A tester :
Code:
[COLOR=blue]Private Sub[/COLOR] CommandButton3_click()
Application.ScreenUpdating = [COLOR=blue]False[/COLOR]
[COLOR=blue]Dim[/COLOR] DernLign [COLOR=blue]As Long[/COLOR]
[COLOR=blue]Dim[/COLOR] NB&, cell [COLOR=blue]As[/COLOR] Range
NB = 0
[COLOR=blue]With[/COLOR] Sheets("Alimentation")
    DernLign = .Cells(.Rows.Count, 4).End(xlUp).Row + 1
    [COLOR=blue]If[/COLOR] TextBox6.Value = "" [COLOR=blue]Then[/COLOR]
        TextBox6.Value = 0
        .Cells(DernLign, 4).Value = TextBox6.Value * 1250
    [COLOR=blue]End If[/COLOR]
[COLOR=blue]End With[/COLOR]
 
[COLOR=blue]With[/COLOR] Sheets("Identifiants")
    [COLOR=blue]For Each[/COLOR] cell [COLOR=blue]In[/COLOR] .Range("F2:F65536")
        [COLOR=blue]If[/COLOR] cell <> "" [COLOR=blue]Then[/COLOR] NB = NB + 1
    [COLOR=blue]Next[/COLOR] cell
    TextBox7.Value = NB
    .Cells(DernLign, 5).Value = TextBox7.Value
   [COLOR=green]'.Cells(DernLign, 6).Value = .Cells(DernLign, 4) - .Cells(DernLign, 6).Value[/COLOR]
    [COLOR=red][B].[/B][/COLOR]Cells(2, 12).Value = TextBox8.Value
[COLOR=blue]End With[/COLOR]
Application.ScreenUpdating = [COLOR=blue]True[/COLOR]
[COLOR=blue]End Sub[/COLOR]
Cordialement
Edit: Il manquait encore un point....
 
Dernière édition:
Re : Vb enregister nombre de cellule pleine dans variable

Bonjour efge, merci c'est nickel, merci également à eric et c-c.
Bonne journée.
 
Re : Vb enregister nombre de cellule pleine dans variable

Bonjour,

La fonction que tu avais choisie et que j'ai corrigée (0h20) marche très bien et évite une boucle...
R = Application.CountA(Sheets("Identifiants").Range("F 2:F65536"))

eric
 
Re : Vb enregister nombre de cellule pleine dans variable

Bonjour,

La fonction que tu avais choisie et que j'ai corrigée (0h20) marche très bien et évite une boucle...
R = Application.CountA(Sheets("Identifiants").Range("F 2:F65536"))

eric
Bonsoir Eric, merci je n'avait pas vu ta réponse, j'ai pris la solution d'efge.
Merci encore à toi et bonne soirée.
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

B
  • Question Question
Réponses
3
Affichages
1 K
A
Réponses
12
Affichages
2 K
AnjyD
A
S
Réponses
4
Affichages
1 K
sgangbadjo
S
M
Réponses
3
Affichages
2 K
MONADESIGN82
M
Réponses
68
Affichages
9 K
Etoto0026
E
M
Réponses
4
Affichages
2 K
ManOfCatz
M
P
Réponses
7
Affichages
1 K
plaiiz
P
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…