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

Intégrer une variable sur extraction minutes

  • Initiateur de la discussion Initiateur de la discussion fleet21
  • Date de début Date de début

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 !

F

fleet21

Guest
Bonjour à tous,

Je souhaite insérer une variable appelée col sur la fonction d'extraction des minutes suivantes : Minute(["B" & col]).

Le problème est que ce code est incorrect. Problème de syntaxe ou tout simplement pas possible ?
 

Pièces jointes

bonjour à tous

A tester
nb: format cellule colonne B=Standard
Code:
Sub c()
 For n = 3 To Range("A" & Rows.Count).End(xlUp).Row
   Range("B" & n) = (Range("A" & n) * 24 - Int(Range("A" & n) * 24)) * 60
 Next
End Sub
 
Bonjour fleet21, Lone-wolf, Pierre, le forum,

Sur un grand tableau ceci est très rapide car on ne traite pas les cellules une par une :
Code:
Sub Minutes()
With ActiveSheet.UsedRange.Columns(2).Offset(1) 'une ligne de titres
    If .Parent.FilterMode Then .Parent.ShowAllData 'si la feuille est filtrée
    .FormulaR1C1 = "=IFERROR(MINUTE(""""&RC[-1]),"""")"
    .Value = .Value 'supprime les formules
End With
End Sub
PS : les valeurs zéro ont un sens, il faut les afficher.

Bonne journée.
 
Re,

Complément si l'on veut supprimer les cellules vides en 1ère colonne :
Code:
Sub Minutes()
With ActiveSheet.UsedRange.Columns(2).Offset(1)
    If .Parent.FilterMode Then .Parent.ShowAllData 'si la feuille est filtrée
    .FormulaR1C1 = "=IFERROR(MINUTE(RC[-1]),"""")"
    .Value = .Value 'supprime les formules
    With .Offset(, -1).SpecialCells(xlCellTypeBlanks) 'cellules vides en 1ère colonne
        Union(.Cells, .Offset(, 1)).Delete xlUp
    End With
    With .Parent.UsedRange: End With 'actualise la barre de défilement verticale
End With
End Sub
A+
 
Dernière édition:
Bonjour job75, pierre jean, fleet 🙂

@ fleet: ma macro donne le même résultat.

VB:
Sub test()
Dim plage As Range, cel As Range, derlig As Long

    derlig = Range("a" & Rows.Count).End(xlUp).Row  'dernière ligne remplie

    Set plage = Range("b2:b" & derlig) 'Plage résultats

    For Each cel In plage 'Pour chaque cellule de la colonne B
        'la cellule extrait les minutes de la colonne A, avec la fontion Minute
        cel.Value = minute(cel.Offset(, -1).Value)
    Next cel

End Sub
 
Dernière édition:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
12
Affichages
296
D
  • Question Question
Réponses
5
Affichages
207
Didierpasdoué
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…