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é ? j'espère que t'as pas oublié d'bien respecter toutes les traditions : soulever la jeune mariée au moment d'franchir le seuil, et pendre la crémaillère ; surtout, j'espère que t'as pas inversé, hein ? pa'c'que pendre ta femme et soulever ta crémaillère, c'est plutôt politiquement incorrect ! (même si ta crémaillère était consentante)

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

Rechercher des sujets similaires à "vba"