Transfert d'information

  • Initiateur de la discussion Initiateur de la discussion Kickback
  • 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 !

K

Kickback

Guest
Bonjour,

Un membre de ce forum (abel) m'a beaucoup aidé pour la constitution d'un tableau permettant de comptabiliser des temps d'attente. Il s'agit d'une feuille avec des colonnes date, heure d'arrivée etc...on en transfere ensuite les informations dans une feuille bilan.
Or je me suis aperçu que lorsque les informations sont vides (aucun client d'arrivé ce jour par exemple) et que je clique sur le bouton de transfert, c'est le nom des colonnes qui est envoyé dans la feuille bilan...et cela fausse les calculs. Voici la macro du bouton de transfert, si quelqu'un en connait la raison.
Merci d'avance.

Sub transfert()
Dim maplage As Range
Dim derlgn As Integer, L As Integer
Dim C As Byte
Dim Derlgn2 As Integer
Dim tabTemp As Variant
Dim Ws As Worksheet

Set Ws = Worksheets('Historique visites')

With Worksheets('Saisie du jour')
derlgn = .Range('B65536').End(xlUp).Row
Set maplage = .Range('A2:d2' & derlgn)
tabTemp = .Range(.Cells(2, 1), .Cells(derlgn, 4)).Value
End With
With Ws
Derlgn2 = .Range('A65536').End(xlUp).Row
For L = 1 To UBound(tabTemp, 1)
For C = 1 To UBound(tabTemp, 2)
If C >= 3 And C <= 4 Then
.Cells(L + Derlgn2, C) = Format(tabTemp(L, C), 'hh:mm:ss')
Else
.Cells(L + Derlgn2, C) = tabTemp(L, C)
End If
Next
Next
End With
maplage.ClearContents

End Sub
 
Bonjour Kickback et le forum,


Quelques petites modifs et cela devrait enlever le bug.

Sub Transfert()
Dim Maplage As Range, tabTemp As Variant
Dim derlgn As Integer, L As Integer, C As Byte, Derlgn2 As Integer

With Sheets('Saisie du jour')
derlgn = .Range('B65536').End(xlUp).Row + 1
Set Maplage = .Range('A2😀' & derlgn)
tabTemp = .Range(.Cells(2, 1), .Cells(derlgn, 4))
End With
With Sheets('Historique visites')
Derlgn2 = .Range('A65536').End(xlUp).Row
For L = 1 To UBound(tabTemp, 1)
For C = 1 To UBound(tabTemp, 2)
If C >= 3 And C <= 4 Then
.Cells(L + Derlgn2, C) = Format(tabTemp(L, C), 'hh:mms')
Else
.Cells(L + Derlgn2, C) = tabTemp(L, C)
End If
Next
Next
End With
Maplage.ClearContents
End Sub


Cordialement

Bernard
 
- 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
5
Affichages
909
Réponses
15
Affichages
779
Retour