Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

le code VBA ne fonctionne pas...

2 réponses
Avatar
ALF
Bonjour,

sur une feuille nommée "TEST" issue d'un classeur TDB.xls ,j'ai en B5 une
liste deroulante (janv-07,févr-07....déc-07) et en B12 une autre liste
déroulante (SUREND,PROCED,GLOBAL).
sur une autre feuille caché "Commentaires" de ce classeur,j'ai créé
plusieurs plages avec pour chacune d'entre elle,un nom défini par
l'association du choix B5 et du choix B12,soit 12 x 3 plages differentes...
ex. pour mai-07=B5 et SUREND= B12 cela donne la plage nommée "SUREND_mai2007"
donc en fonction des 2 choix,je veux coller la plage correspondante en B48
de la feuille "TEST"..
j'ai créé un code VBA qui malheureusement ne fonctionne pas...
Pouvez vous m'aider à résoudre ce problême ????

Merci.
voici le code en question...

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

Dim c As Range
Dim s As Object

Application.ScreenUpdating = False
Application.EnableEvents = False

f Target.Address = "$B$5" And Target.Address = "$B$12" Then
Sheets("Commentaires").Visible = True
Application.Goto Reference:="$B$5" & "_" & ActiveCell.FormulaR1C1 =
"=TEXT($B$12,""mmmaaaa"")"
Selection.Copy
Sheets("" & s & "").Select
ActiveWindow.LargeScroll Down:=1
Range("B48").Select
ActiveSheet.Paste
End If


Range("B5").Select
ActiveWindow.ScrollRow = 1
ActiveWindow.ScrollColumn = 1

Next s
Sh.Select


Sheets("Commentaires").Visible = False


Application.EnableEvents = True
Application.ScreenUpdating = True

End Sub

--
ALF

2 réponses

Avatar
Daniel
Bonsoir.
"If Target.Address = "$B$5" And Target.Address = "$B$12" Then"
"Target.Address" ne peut pas être égal à "$B$5" ET à "$B$12" (c'est soit
l'un, sooit l'autre)
Je n'ai pas été voir plus loin, mais tout compte fait, il y a peut-être un
"next" tout seul...
Cordialement.
Daniel
"ALF" a écrit dans le message de news:

Bonjour,

sur une feuille nommée "TEST" issue d'un classeur TDB.xls ,j'ai en B5 une
liste deroulante (janv-07,févr-07....déc-07) et en B12 une autre liste
déroulante (SUREND,PROCED,GLOBAL).
sur une autre feuille caché "Commentaires" de ce classeur,j'ai créé
plusieurs plages avec pour chacune d'entre elle,un nom défini par
l'association du choix B5 et du choix B12,soit 12 x 3 plages
differentes...
ex. pour mai-07µ et SUREND= B12 cela donne la plage nommée
"SUREND_mai2007"
donc en fonction des 2 choix,je veux coller la plage correspondante en B48
de la feuille "TEST"..
j'ai créé un code VBA qui malheureusement ne fonctionne pas...
Pouvez vous m'aider à résoudre ce problême ????

Merci.
voici le code en question...

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As
Range)

Dim c As Range
Dim s As Object

Application.ScreenUpdating = False
Application.EnableEvents = False

f Target.Address = "$B$5" And Target.Address = "$B$12" Then
Sheets("Commentaires").Visible = True
Application.Goto Reference:="$B$5" & "_" & ActiveCell.FormulaR1C1 > "=TEXT($B$12,""mmmaaaa"")"
Selection.Copy
Sheets("" & s & "").Select
ActiveWindow.LargeScroll Down:=1
Range("B48").Select
ActiveSheet.Paste
End If


Range("B5").Select
ActiveWindow.ScrollRow = 1
ActiveWindow.ScrollColumn = 1

Next s
Sh.Select


Sheets("Commentaires").Visible = False


Application.EnableEvents = True
Application.ScreenUpdating = True

End Sub

--
ALF


Avatar
JB
Bonsoir,

Dans la feuille Test:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$5" Or Target.Address = "$B$12" Then
nomchamp = [B12] & "_" & [B5]
On Error Resume Next
Sheets("commentaires").Range(nomchamp).Copy [B48]
End If
End Sub

http://cjoint.com/?hmwhn8ARQJ

JB



On 12 juil, 21:20, ALF wrote:
Bonjour,

sur une feuille nommée "TEST" issue d'un classeur TDB.xls ,j'ai en B5 une
liste deroulante (janv-07,févr-07....déc-07) et en B12 une autre liste
déroulante (SUREND,PROCED,GLOBAL).
sur une autre feuille caché "Commentaires" de ce classeur,j'ai créé
plusieurs plages avec pour chacune d'entre elle,un nom défini par
l'association du choix B5 et du choix B12,soit 12 x 3 plages differentes. ..
ex. pour mai-07µ et SUREND= B12 cela donne la plage nommée "SUREN D_mai2007"
donc en fonction des 2 choix,je veux coller la plage correspondante en B48
de la feuille "TEST"..
j'ai créé un code VBA qui malheureusement ne fonctionne pas...
Pouvez vous m'aider à résoudre ce problême ????

Merci.
voici le code en question...

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Rang e)

Dim c As Range
Dim s As Object

Application.ScreenUpdating = False
Application.EnableEvents = False

f Target.Address = "$B$5" And Target.Address = "$B$12" Then
Sheets("Commentaires").Visible = True
Application.Goto Reference:="$B$5" & "_" & ActiveCell.FormulaR1C1 =
"=TEXT($B$12,""mmmaaaa"")"
Selection.Copy
Sheets("" & s & "").Select
ActiveWindow.LargeScroll Down:=1
Range("B48").Select
ActiveSheet.Paste
End If

Range("B5").Select
ActiveWindow.ScrollRow = 1
ActiveWindow.ScrollColumn = 1

Next s
Sh.Select

Sheets("Commentaires").Visible = False

Application.EnableEvents = True
Application.ScreenUpdating = True

End Sub

--
ALF