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

recopie des données

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

al1000

XLDnaute Impliqué
onjour,


comment ecrire la maco:


si le dernier releve est :

par exemple 16/02/09
j'ouvrre l'onglet "2 " (mois de février)
et je copie la somme "b7 à b 9"
devant la journée du 16

A+
 

Pièces jointes

Re : recopie des données

bonjour,


' Sub report_durée_ouverture_machine()



Set r = [A65536].End(xlUp)
Set rng = Range("A8:A" & r.Row)
m = 0
n = 0

For Each c In rng

If c = r Then
m = m + c.Offset(, 4).Value
n = n + c.Offset(, 6).Value
End If

Next

mois = Month(r.Value)
Sheets(CStr(mois)).Activate
For i = 5 To 33
If Cells(i, 1) = Day(r) Then
Cells(i, 2) = Format(m, "hh:mm:ss")
Cells(i, 3) = Format(n, "hh:mm:ss")

'Cells(i, 3) = "TOTAL Colonne D : " & Val(n)
'Cells(i, 3).Columns.AutoFit
End If

Next
'End Sub


j'ai integre cette macro au sein du'autre

et elle me donne un message d'erreur;m=0 variable non definie

pourquoi?


a+
 
Re : recopie des données

onjour,


Option Explicit 'Vérifie que toute tes variables sont déclarées (Dim Variable As ...)
Dim heure As String
Dim a100 As Long
Dim d100 As Long

Dim RangeDateOuverture As Range
Dim RangeDateFermeture As Range
Dim Lastrow As Integer
Dim Nextrow As Integer


Dim i As Long
Dim rng As Range, r As Range, c As Range
Dim mois As Long













Sub deb

ActiveSheet.Unprotect





Range("B5") = Time

If Range("B5") = "" Then

MsgBox "L'heure de fin est : " & Now()
End If

ActiveSheet.Protect





Dim dervalcola As Range
Set dervalcola = [A65536].End(xlUp)

If Not IsEmpty(dervalcola) And dervalcola <> [A5] Then
If MsgBox("Copie ?", vbYesNo, "Copie") = 6 Then


'Range("A6:G100").Select
'Selection.Copy
'Sheets.Add After:=Sheets(Sheets.Count)
'Range("A2").Select
'ActiveSheet.Paste




ActiveSheet.Protect

Set r = [A65536].End(xlUp)
Set rng = Range("A8:A" & r.Row)

m = 0
n = 0

For Each c In rng

If c = r Then
m = m + c.Offset(, 4).Value
n = n + c.Offset(, 6).Value
End If

Next

mois = Month(r.Value)
Sheets(CStr(mois)).Activate
For i = 5 To 33
If Cells(i, 1) = Day(r) Then
Cells(i, 2) = Format(m, "hh:mm:ss")
Cells(i, 3) = Format(n, "hh:mm:ss")


End If

Next
'End Sub



mais quand j'inclue la macro dans une autre il m'indique à m=0 "variable non définie"


Pourquoi?


a+
 
Re : recopie des données

bonjour



With ActiveSheet
.Unprotect

.Range("B5") = Time
.Range("B5") = _
IIf(IsEmpty(Range("B5")), _
"L'heure de fin est : " _
& Now(), Time)
.Protect
Set dervalcola = _ a ce moment de la macro il m'indique erreure
.[A65536].End(xlUp) de compilation




If Not IsEmpty(dervalcola) And dervalcola <> [A5] Then
If MsgBox("Copie ?", vbYesNo, "Copie") = 6 Then
Set r = .[A65536].End(xlUp)
Set rng = .Range("A8:A" & r.Row)
m = 0: n = 0
For Each c In rng
If c = r Then
m = m + c.Offset(, 1).Value
n = n + c.Offset(, 3).Value
End If
Next
mois = Month(r.Value)
 
Re : recopie des données

bonjour,


If Not IsEmpty(dervalcola) And dervalcola <> [A5] Then
If MsgBox("Copie et effacement des données?", vbYesNo, "Copie") = 6 Then
Set r = .[A65536].End(xlUp)


(j'inscris mes valeurs de la cellule a8 à a100; et si a8 est vide alors on continue la macro sans mettre la boite de message)


comment faire pour arreter : Set dervalcola = _
.[A65536].End(xlUp) à a8 inclu

?


a+
 
- 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

Discussions similaires

Réponses
16
Affichages
629
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…