Macro Convertir Colonne et Heures changées
Fermé
RechercheV1
Messages postés
5
Date d'inscription
samedi 29 novembre 2014
Statut
Membre
Dernière intervention
1 juin 2015
-
29 mai 2015 à 12:11
RechercheV1 Messages postés 5 Date d'inscription samedi 29 novembre 2014 Statut Membre Dernière intervention 1 juin 2015 - 1 juin 2015 à 13:09
RechercheV1 Messages postés 5 Date d'inscription samedi 29 novembre 2014 Statut Membre Dernière intervention 1 juin 2015 - 1 juin 2015 à 13:09
A voir également:
- Macro Convertir Colonne et Heures changées
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Déplacer une colonne excel - Guide
- Formule somme excel colonne - Guide
- Trier colonne excel - Guide
- Colonne word - Guide
3 réponses
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
29 mai 2015 à 14:20
29 mai 2015 à 14:20
Bonjour
Essayez ceci
Cdlt
Essayez ceci
Sub SeparerJourHeure() Application.ScreenUpdating = False Columns("K:K").Select Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove Range("K1:K" & [J100000].End(xlUp).Row).FormulaR1C1 = "=HOUR(RC[-1])" Range("K1:K" & [J100000].End(xlUp).Row).NumberFormat = "h:mm;@" Range("K1:K" & [J100000].End(xlUp).Row).FormulaR1C1 = "=RC[-1]-INT(RC[-1])" Range("J1:J" & [J100000].End(xlUp).Row).NumberFormat = "m/d/yyyy" Range("M1:M" & [L100000].End(xlUp).Row).FormulaR1C1 = "=HOUR(RC[-1])" Range("M1:M" & [L100000].End(xlUp).Row).NumberFormat = "h:mm;@" Range("M1:M" & [L100000].End(xlUp).Row).FormulaR1C1 = "=RC[-1]-INT(RC[-1])" Range("L1:L" & [J100000].End(xlUp).Row).NumberFormat = "m/d/yyyy" End Sub
Cdlt
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
29 mai 2015 à 14:59
29 mai 2015 à 14:59
Voilà pour les secondes
lorsque cela créer les colonnes de définir un nom ?
Est-ce bien un Nom définit par colonne que voulez-vous exactement, ou bien un titre en haut de chaque colonne en J1, K1, L1, M1 ? Quels noms vous voulez y mettre?
Je me suis aperçu dans le code que je vous ai envoyé, que dans les colonnes des dates, je masque les heures en utilisant le format date "jj/mm:yy", mais elles sont toujours présentent, cela vous gêne t-il?
cdlt
Sub SeparerJourHeure() Application.ScreenUpdating = False Columns("K:K").Select Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove Range("K1:K" & [J100000].End(xlUp).Row).FormulaR1C1 = "=HOUR(RC[-1])" Range("K1:K" & [J100000].End(xlUp).Row).NumberFormat = "h:mm:ss;@" Range("K1:K" & [J100000].End(xlUp).Row).FormulaR1C1 = "=RC[-1]-INT(RC[-1])" Range("J1:J" & [J100000].End(xlUp).Row).NumberFormat = "m/d/yyyy" Range("M1:M" & [L100000].End(xlUp).Row).FormulaR1C1 = "=HOUR(RC[-1])" Range("M1:M" & [L100000].End(xlUp).Row).NumberFormat = "h:mm:ss;@" Range("M1:M" & [L100000].End(xlUp).Row).FormulaR1C1 = "=RC[-1]-INT(RC[-1])" Range("L1:L" & [J100000].End(xlUp).Row).NumberFormat = "m/d/yyyy" End Sub
lorsque cela créer les colonnes de définir un nom ?
Est-ce bien un Nom définit par colonne que voulez-vous exactement, ou bien un titre en haut de chaque colonne en J1, K1, L1, M1 ? Quels noms vous voulez y mettre?
Je me suis aperçu dans le code que je vous ai envoyé, que dans les colonnes des dates, je masque les heures en utilisant le format date "jj/mm:yy", mais elles sont toujours présentent, cela vous gêne t-il?
cdlt
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
29 mai 2015 à 15:19
29 mai 2015 à 15:19
En attendant votre réponse à la question posée ci-dessus concernant le nom des colonnes à définir, voici une correction qui supprime les heures définitivement dans les colonnes J et L
A+
Sub SeparerJourHeure() Application.ScreenUpdating = False Columns("K:K").Select Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove Range("K1:K" & [J100000].End(xlUp).Row).FormulaR1C1 = "=HOUR(RC[-1])" Range("K1:K" & [J100000].End(xlUp).Row).NumberFormat = "h:mm:ss;@" Range("K1:K" & [J100000].End(xlUp).Row).FormulaR1C1 = "=RC[-1]-INT(RC[-1])" Range("K1:K" & [J100000].End(xlUp).Row).Value = Range("K1:K" & [J100000].End(xlUp).Row).Value Range("J1:J" & [J100000].End(xlUp).Row).NumberFormat = "0" For i = 1 To [J100000].End(xlUp).Row Cells(i, 10) = Fix(Cells(i, 10)) Next Range("J1:J" & [J100000].End(xlUp).Row).NumberFormat = "m/d/yyyy" Range("M1:M" & [L100000].End(xlUp).Row).FormulaR1C1 = "=HOUR(RC[-1])" Range("M1:M" & [L100000].End(xlUp).Row).NumberFormat = "h:mm:ss;@" Range("M1:M" & [L100000].End(xlUp).Row).FormulaR1C1 = "=RC[-1]-INT(RC[-1])" Range("M1:M" & [J100000].End(xlUp).Row).Value = Range("M1:M" & [J100000].End(xlUp).Row).Value Range("L1:L" & [J100000].End(xlUp).Row).NumberFormat = "0" For i = 1 To [L100000].End(xlUp).Row Cells(i, 12) = Fix(Cells(i, 12)) Next Range("L1:L" & [L100000].End(xlUp).Row).NumberFormat = "m/d/yyyy" End Sub
A+
RechercheV1
Messages postés
5
Date d'inscription
samedi 29 novembre 2014
Statut
Membre
Dernière intervention
1 juin 2015
1 juin 2015 à 10:02
1 juin 2015 à 10:02
Bonjour,
Désolée pour le temps de réponse, je viens d'essayer ce matin. Avec la macro que vous avez posté à 14h59, cela fonctionne très bien, j'ai les secondes avec ! Youpi :-)
Par contre pour la deuxième : il me marque "Erreur d'exécution '13' Incompatibilité Type" Débogage c'est la ligne : Cells(i, 10) = Fix(Cells(i, 10))
En fait, vous savez quand la macro crée les deux colonnes, elles notes #VALEUR!, sur la première ligne et j'aurai aimé qu'elle note autre chose, mais si cela est complexe, cela ne me gêne pas de la laisser comme ça :-)
HeureConnexion #VALEUR! HeureDeconnexion #VALEUR!
18/05/2015 7:24:14 18/05/2015 16:12:27
Dans l'idéal, j'aurai aimé :
HeureConnexion HeureConnexion HeureDeconnexion HeureDeconnexion
18/05/2015 7:24:14 18/05/2015 16:12:27
Désolée pour le temps de réponse, je viens d'essayer ce matin. Avec la macro que vous avez posté à 14h59, cela fonctionne très bien, j'ai les secondes avec ! Youpi :-)
Par contre pour la deuxième : il me marque "Erreur d'exécution '13' Incompatibilité Type" Débogage c'est la ligne : Cells(i, 10) = Fix(Cells(i, 10))
En fait, vous savez quand la macro crée les deux colonnes, elles notes #VALEUR!, sur la première ligne et j'aurai aimé qu'elle note autre chose, mais si cela est complexe, cela ne me gêne pas de la laisser comme ça :-)
HeureConnexion #VALEUR! HeureDeconnexion #VALEUR!
18/05/2015 7:24:14 18/05/2015 16:12:27
Dans l'idéal, j'aurai aimé :
HeureConnexion HeureConnexion HeureDeconnexion HeureDeconnexion
18/05/2015 7:24:14 18/05/2015 16:12:27
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
1 juin 2015 à 10:38
1 juin 2015 à 10:38
Bonjour
Corrigé avec les titres
j'ai remplacé:
HeureConnexion HeureConnexion HeureDeconnexion HeureDeconnexion
par
DateConnexion HeureConnexion DateDeconnexion HeureDeconnexion
qui me semblait plus approprié
Cdlt
Corrigé avec les titres
j'ai remplacé:
HeureConnexion HeureConnexion HeureDeconnexion HeureDeconnexion
par
DateConnexion HeureConnexion DateDeconnexion HeureDeconnexion
qui me semblait plus approprié
Sub SeparerJourHeure() Application.ScreenUpdating = False Columns("K:K").Select Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove Range("K2:K" & [J100000].End(xlUp).Row).FormulaR1C1 = "=HOUR(RC[-1])" Range("K2:K" & [J100000].End(xlUp).Row).NumberFormat = "h:mm:ss;@" Range("K2:K" & [J100000].End(xlUp).Row).FormulaR1C1 = "=RC[-1]-INT(RC[-1])" Range("K2:K" & [J100000].End(xlUp).Row).Value = Range("K2:K" & [J100000].End(xlUp).Row).Value Range("J2:J" & [J100000].End(xlUp).Row).NumberFormat = "0" For i = 2 To [J100000].End(xlUp).Row Cells(i, 10) = Int(Cells(i, 10)) Next Range("J2:J" & [J100000].End(xlUp).Row).NumberFormat = "m/d/yyyy" Range("M2:M" & [L100000].End(xlUp).Row).FormulaR1C1 = "=HOUR(RC[-1])" Range("M2:M" & [L100000].End(xlUp).Row).NumberFormat = "h:mm:ss;@" Range("M2:M" & [L100000].End(xlUp).Row).FormulaR1C1 = "=RC[-1]-INT(RC[-1])" Range("M2:M" & [J100000].End(xlUp).Row).Value = Range("M2:M" & [J100000].End(xlUp).Row).Value Range("L2:L" & [J100000].End(xlUp).Row).NumberFormat = "0" For i = 1 To [L100000].End(xlUp).Row Cells(i, 12) = Int(Cells(i, 12)) Next Range("L2:L" & [L100000].End(xlUp).Row).NumberFormat = "m/d/yyyy" Range("J1:M1") = Array("DateConnexion", "HeureConnexion", "DateDeconnexion", "HeureDeconnexion") End Sub
Cdlt
RechercheV1
Messages postés
5
Date d'inscription
samedi 29 novembre 2014
Statut
Membre
Dernière intervention
1 juin 2015
1 juin 2015 à 11:56
1 juin 2015 à 11:56
Il me met en erreur : Cells(i, 12) = Int(Cells(i, 12))
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
>
RechercheV1
Messages postés
5
Date d'inscription
samedi 29 novembre 2014
Statut
Membre
Dernière intervention
1 juin 2015
1 juin 2015 à 12:17
1 juin 2015 à 12:17
mettez i = 2 à la place de i =1
For i = 2 To [L100000].End(xlUp).Row Cells(i, 12) = Int(Cells(i, 12)) Next
RechercheV1
Messages postés
5
Date d'inscription
samedi 29 novembre 2014
Statut
Membre
Dernière intervention
1 juin 2015
1 juin 2015 à 13:09
1 juin 2015 à 13:09
IM-PE-CCABLE !! :D Génial ! :D Ca marche :-) Merci Beaucoup
29 mai 2015 à 14:42
Serait-il possible d'avoir les secondes avec ?
Et si c'est possible (ce n'est pas gênant si pas possible) ; lorsque cela créer les colonnes de définir un nom ?