Bonjour à Tous,
Je suis une débutante en VBA bien que passionnée par ce type de développement, mais à ce jour, mes connaissances ne me permettent pas de solutionner mon problème.
Je récupère des données d’un fichier.csv dont je teste la présence préalable dans le répertoire.
J’aimerai aussi tester ce fichier afin de savoir s’il n’est pas vide : j’avais essayé avec
' Vérifier que le fichier récupéré n'est pas vide
' If ActiveSheet.Cells(1, 2).Value <> "" Then
' MsgBox " Le fichier à extraire est vide !"
' Exit Sub
' End If
Mais cela ne va pas, le message remonte lorsque cela est le contraire !!
Une fois récupéré j’ajoute en colonne U la formule
ActiveCell.FormulaR1C1 = _
"=IF(RC[-20]=""Voiture"",-RC[-4]*RC[-3],IF(RC[-20]=""Vélo"",RC[-4]*RC[-3],""""))"
J’effectue ensuite deux sous-totaux.
Je voudrais, et c’est là que cela se corse, insérer la formule sur la dernière ligne de la dernière colonne qui en automatique se rédige de la sorte (pour l'exemple sélectionné) :
‘ Insère la formule somme si "Total Vélo"
ActiveCell.FormulaR1C1 = "=SUMIF(R[-89]C[-19]:R[-1]C[1],""Total Vélo"",C[1])"
Sauf que dans mon cas présent, d’un jour sur l’autre la zone change en fonction du nombre d’enregistrement.
J’ai essayé avec currentRegion. Select, mais aussi avec ActiveCell.FormulaR1C1 = Application.SumIf(Range("A1:A" & Range("U1").End(xlUp).Row), "Total Vélo"), je n’y arrive pas.
Pourriez-vous m’aider à résoudre ce souci car je bataille depuis plusieurs jours sans trouver la solution.
Merci d’avance
Nanou
Je suis une débutante en VBA bien que passionnée par ce type de développement, mais à ce jour, mes connaissances ne me permettent pas de solutionner mon problème.
Je récupère des données d’un fichier.csv dont je teste la présence préalable dans le répertoire.
J’aimerai aussi tester ce fichier afin de savoir s’il n’est pas vide : j’avais essayé avec
' Vérifier que le fichier récupéré n'est pas vide
' If ActiveSheet.Cells(1, 2).Value <> "" Then
' MsgBox " Le fichier à extraire est vide !"
' Exit Sub
' End If
Mais cela ne va pas, le message remonte lorsque cela est le contraire !!
Une fois récupéré j’ajoute en colonne U la formule
ActiveCell.FormulaR1C1 = _
"=IF(RC[-20]=""Voiture"",-RC[-4]*RC[-3],IF(RC[-20]=""Vélo"",RC[-4]*RC[-3],""""))"
J’effectue ensuite deux sous-totaux.
Je voudrais, et c’est là que cela se corse, insérer la formule sur la dernière ligne de la dernière colonne qui en automatique se rédige de la sorte (pour l'exemple sélectionné) :
‘ Insère la formule somme si "Total Vélo"
ActiveCell.FormulaR1C1 = "=SUMIF(R[-89]C[-19]:R[-1]C[1],""Total Vélo"",C[1])"
Sauf que dans mon cas présent, d’un jour sur l’autre la zone change en fonction du nombre d’enregistrement.
J’ai essayé avec currentRegion. Select, mais aussi avec ActiveCell.FormulaR1C1 = Application.SumIf(Range("A1:A" & Range("U1").End(xlUp).Row), "Total Vélo"), je n’y arrive pas.
Pourriez-vous m’aider à résoudre ce souci car je bataille depuis plusieurs jours sans trouver la solution.
Merci d’avance
Nanou