VBA
Bonjour,
J'ai fait vba : mais je pense pas que ça va pas marché car je veux que si la cellule A1393 n'est pas vide on execute la macro et sinon ne rien faire mais je n'ai pas indiqué cette cellule savez vous comment faire ?
Sub heuresréaliséessalarié3()
'
' heuresréaliséessalarié3 Macro
'
If Len(Cell.Value) > 0 Then
Range("P1325:BF1337").Select
Selection.Copy
ActiveWindow.ScrollColumn = 45
ActiveWindow.ScrollColumn = 44
ActiveWindow.ScrollColumn = 43
ActiveWindow.ScrollColumn = 42
ActiveWindow.ScrollColumn = 41
ActiveWindow.ScrollColumn = 40
ActiveWindow.ScrollColumn = 39
ActiveWindow.ScrollColumn = 37
ActiveWindow.ScrollColumn = 35
ActiveWindow.ScrollColumn = 33
ActiveWindow.ScrollColumn = 31
ActiveWindow.ScrollColumn = 29
ActiveWindow.ScrollColumn = 28
ActiveWindow.ScrollColumn = 26
ActiveWindow.ScrollColumn = 25
ActiveWindow.ScrollColumn = 24
ActiveWindow.ScrollColumn = 23
ActiveWindow.ScrollColumn = 22
ActiveWindow.ScrollColumn = 21
ActiveWindow.ScrollColumn = 20
ActiveWindow.ScrollColumn = 18
ActiveWindow.ScrollColumn = 17
ActiveWindow.ScrollColumn = 16
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 10
Range("P1342").Select
ActiveSheet.Paste
Range("P1342").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "Salarié 3"
Range("P1343").Select
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 16
ActiveWindow.ScrollColumn = 17
ActiveWindow.ScrollColumn = 18
ActiveWindow.ScrollColumn = 19
ActiveWindow.ScrollColumn = 20
ActiveWindow.ScrollColumn = 21
ActiveWindow.ScrollColumn = 22
ActiveWindow.ScrollColumn = 23
ActiveWindow.ScrollColumn = 24
ActiveWindow.ScrollColumn = 23
ActiveWindow.ScrollColumn = 22
ActiveWindow.ScrollColumn = 21
ActiveWindow.ScrollColumn = 20
ActiveWindow.ScrollColumn = 18
ActiveWindow.ScrollColumn = 16
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 5
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 11
ActiveWindow.ScrollColumn = 12
ActiveWindow.SmallScroll Down:=7
Else
Exit Sub
End If
End Sub
Merci d'avance
Bonjour,
Essai ceci : les scrool et beaucoup de select non essentiels
Sub heuresréaliséessalarié3()
'
' heuresréaliséessalarié3 Macro
If Len(Cells(1393, "A").Value) > 0 Then
Range("P1325:BF1337").Copy Range("P1342")
Range("P1342").FormulaR1C1 = "Salarié 3"
End If
End Sub
Bonsoir angel28, le forum,
je propose ce code VBA :
Sub heuresréaliséessalarié3()
If Not IsEmpty([A1393]) Then [P1342] = "Salarié 3": [P1325:BF1337].Copy [P1343]
End Sub
dhany
Bonsoir,
si comme il est dit :
si la cellule A1393 n'est pas vide on execute la macro
alors le code devrait être en "surveillance événementielle" sur Change de la feuille, non ?
@ bientôt
LouReeD
Bonsoir LouReeD, le forum,
comment ça va ? ton déménagement s'est bien passé ?
ton avatar actuel signifie-t-il que ton déménagement n'est pas encore terminé, et que t'es encore dans les cartons ?
si t'as eu des quintuplés, j'comprends qu'tu devais déménager dans un appart plus grand !
au cas où ça doit être une procédure événementielle, je propose ce code VBA :
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .CountLarge > 1 Then Exit Sub
If .Address <> "$A$1393" Then Exit Sub
If Not IsEmpty(.Value) Then [P1342] = "Salarié 3": [P1325:BF1337].Copy [P1343]
End With
End Sub
dhany