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

Statistiques des forums

Discussions
312 215
Messages
2 086 324
Membres
103 179
dernier inscrit
BERSEB50