Aide pour une Macro

WDAndCo

XLDnaute Impliqué
Bonjour le Forum
Code:
Sub MAJ()
Sheets("Archives").Select
DL = Range("A65536").End(xlUp).Row' 
DL = DL - 1
For LgEVS = 16 To 30
For LgArchives = 7 To DL
If Sheets("Archives").Range("BI" & LgArchives).Value = Sheets("EVS à jour").Range("BI" & LgEVS).Value Then
    Sheets("Archives").Select : Range("D" & LgArchives  "BG" & LgArchives).Select
    Selection.Copy
    Sheets("EVS à jour").Select
    Range("D" & LgEVS).Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    ActiveSheet.Paste
    Application.CutCopyMode = False
    
Next LgArchives
Next LgEVS
End Sub
Comment rendre cette Macro fonctionelle ?
 

Isab

XLDnaute Occasionnel
Re : Aide pour une Macro

bonjour

essayer comme cela:

la deuxieme ligne après le IF:

Sheets("Archives").Select: Range("D" & LgArchives & ":BG" & LgArchives).Select

aussi:
renommer cet onglet Sheets("EVS à jour"). comme cela par exemple; EVS_a_jour
dans la macro et bien sûr dans la feuille excel avant tout

bonne journée

--

ps.ta macro peut être optimseée mais je me suis contentée de corriger la ligne
 
Dernière édition:

gilbert_RGI

XLDnaute Barbatruc
Re : Aide pour une Macro

a tester, sans fichier avec les données à la bonne place pas facile

Sub MAJ()
DL = Sheets("Archives").Range("A65536").End(xlUp).Row '
DL = DL - 1
For LgEVS = 16 To 30
For LgArchives = 7 To DL
If Sheets("Archives").Range("BI" & LgArchives).Value = Sheets("EVS à jour").Range("BI" & LgEVS).Value Then
Sheets("Archives").Range("D" & LgArchives & ":BG" & LgArchives).Copy Sheets("EVS à jour").Range("D" & LgEVS)
End If
Next LgArchives
Next LgEVS
End Sub
 

WDAndCo

XLDnaute Impliqué
Re : Aide pour une Macro

Re Bonjour
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D7")) Is Nothing Then MAJ
If Not Intersect(Target, Range("BG7")) Is Nothing Then MAJ
End Sub
Cela fonctionne mais je ne sais pas pourquoi. Le but est le declenchement de MAJ si modification en D7 ou BG7 se qui me gene se sont les Not.

Code:
Sub MAJ()
DL = Sheets("Archives").Range("A65536").End(xlUp).Row
DL = DL - 1
For LgEVS = 16 To 68
For LgArchives = 7 To DL

Sheets("EVS à jour").Range("D" & ":BG" & LgEVS).ClearContents

If Sheets("Archives").Range("BI" & LgArchives).Value = Sheets("EVS à jour").Range("BI" & LgEVS).Value Then
Sheets("Archives").Range("D" & LgArchives & ":BG" & LgArchives).Copy Sheets("EVS à jour").Range("D" & LgEVS)
End If
Next LgArchives
Next LgEVS
Range("A1").Select
End Sub
Je voudais aussi effacer la plage D:BG avant de coller ou pas, mais cela ne fonctionne pas.

D'avance merci
Dominique
 

gilbert_RGI

XLDnaute Barbatruc
Re : Aide pour une Macro

Bonjour

décidement,! il manque la ligne de D

Sheets("EVS à jour").Range("D" & LgEVS & ":BG" & LgEVS).ClearContents

si les NOT vous dérangent

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'If Not Intersect(Target, Range("D7")) Is Nothing Then MAJ
'If Not Intersect(Target, Range("BG7")) Is Nothing Then MAJ
If Target = [d7] Or Target = [BG7] Then MAJ
End Sub
 
Dernière édition:

WDAndCo

XLDnaute Impliqué
Re : Aide pour une Macro

Bonjour le Forum
Code:
Sub Macro1()
    Selection.AutoFilter Field:=32, Criteria1:="<=10/03/2014", Operator:= _
        xlAnd
End Sub
Comment récrire cette Macro pour la rendre automatique ?
Pour demain il faudrait que le 10/03/2014 passe en 11/03/2014 etc...
D'avance merci.
Dominique
 

Discussions similaires

Statistiques des forums

Discussions
312 347
Messages
2 087 502
Membres
103 563
dernier inscrit
samyezzehar