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

Sommer des dates

robby98800

XLDnaute Nouveau
Bonjour,

Mon problème n'est surement pas très compliqué mais je n'arrive pas à trouver la solution !!
En colonne A j'ai des données de type Date (*14/03/2001), en colonne B j'ai des données de type Personnalisée
hh:mm:ss.
Je voudrais additionner ces deux colonnes lignes par lignes pour afficher le résultat en colonne F sous forme Personnalisée jj/mm/aaaa hh:mm.
J'ai fait une macro :

Code:
Sub somme()
Dim derl As Long
Dim i As Long

derl = Sheets("releve_erreur").Range("A" & Rows.Count).End(xlUp).Row
tablo1 = Sheets("releve_erreur").Range("A2:F" & derl)

For i = 1 To UBound(tablo1)
tablo1(i, 6) = tablo1(i, 1)+ tablo1(i, 2)
Next i
Sheets("releve_erreur").Range("F" & derl).Value = tablo1

    
End Sub

Il me renvoit erreur d'exécution 13 : incompatibilité de type

Comment dois-je faire?

Merci
 

Papou-net

XLDnaute Barbatruc
Re : Sommer des dates

Bonjour robby98800,

Je ne saurais être affirmatif sans avoir la feuille de calcul sous les yeux, mais je te propose cette solution :

Code:
Sub somme()
Dim derl As Long
Dim i As Long

derl = Sheets("releve_erreur").Range("A" & Rows.Count).End(xlUp).Row
tablo1 = Sheets("releve_erreur").Range("A2:F" & derl)

For i = 1 To UBound(tablo1)
tablo1(i, 6) = tablo1(i, 1) & " " & tablo1(i, 2)
Next i
Sheets("releve_erreur").Range("F" & derl).Value = tablo1

    
End Sub

Cordialement.
 

robby98800

XLDnaute Nouveau
Re : Sommer des dates

Bonjour et merci d'avoir répondu,

J'ai essayé la macro il n'y a pas d'erreur mais rien ne s'affiche en colonne F. Je t'envoie la feuille.

Merci
 

Pièces jointes

  • Somme_date_heure.xlsm
    20.2 KB · Affichages: 38
  • Somme_date_heure.xlsm
    20.2 KB · Affichages: 47
  • Somme_date_heure.xlsm
    20.2 KB · Affichages: 48

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Sommer des dates

Bonsoir robby98800,

A) la dernière ligne de la macro est incohérente. On affecte à une cellule unique Range("F" & derl) un tableau de 6 colonnes et nombreuses lignes. Il faut reprendre la syntaxe qui a permis de lire le tableau pour avoir une plage correspondant aux dimensions de tablo1.
Code:
Sheets("releve_erreur").Range("A2:F" & derl).Value = tablo1

B) Pour éventuellement s'affranchir des formats d'affichage qui pourraient masquer des heures dans la colonne A ou masquer des dates en colonne B (zone A2:B11 pour l'exemple), on peut utiliser:
Code:
tablo1(i, 6) = Fix(tablo1(i, 1)) + tablo1(i, 2) - Fix(tablo1(i, 2))

Ce qui donne:
VB:
Sub DatePlusHeure()
Dim derl As Long
Dim i As Long

derl = Sheets("releve_erreur").Range("A" & Rows.Count).End(xlUp).Row
tablo1 = Sheets("releve_erreur").Range("A2:F" & derl)

For i = 1 To UBound(tablo1)
  tablo1(i, 6) = Fix(tablo1(i, 1)) + tablo1(i, 2) - Fix(tablo1(i, 2))
Next i

Sheets("releve_erreur").Range("A2:F" & derl).Value = tablo1

End Sub

NB: selon moi, éviter de donner à des variables, sub ou function des mots réservés par VBA et par Excel.
 

robby98800

XLDnaute Nouveau
Re : Sommer des dates

Bonsoir,

Effectivement j'avais fait une erreur pour la recopie du tableau dans une plage de cellule. Avec la nouvelle macro j'obtiens encore l'erreur " incompatibilité de type" à la ligne tablo1(i, 6) = Fix(tablo1(i, 1)) + tablo1(i, 2) - Fix(tablo1(i, 2))

Je vous envoie la feuille avec la colonne désirée (colonne F) remplie manuellement.
Merci
 

Pièces jointes

  • Somme_date_heure.xlsm
    21.7 KB · Affichages: 60
  • Somme_date_heure.xlsm
    21.7 KB · Affichages: 53
  • Somme_date_heure.xlsm
    21.7 KB · Affichages: 57

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…