Modifier uniquement valeur dans une formule a partir de VBA
Bonjour à tous,
Dans mon fichier en Pj, j'ai deux site à choisir. Lorsque je choisis "MARQUET" (l'exemple du fichier est pris sur lui), une feuille s'ouvre et me propose de choisir un numero de semaine de 1 à 52. En dessous j'ai un mini tableau avec "BEX" et "MAINTENANCE". sous chaque entité (BEX et MAINTENANCE) j'ai une formule qui va chercher dans le planning correspondant le nom de la personne qui se trouve dans ce site dans la semaine choisis. Mon code qui se trouve dans "VISUALBASIC/Feuil8(NO SEMAINE ABD" modifie le code sous maintenance et copie exactement le code qu'il y a sous "BEX". Comment puis-je faire afin de modifier uniquement le numéro de semaine choisis dans la formule et ne pas modifier le code sous "MAINTENANCE"? Pour le "BEX" le code fonctionne parfaitement.
Voici le code (donné par un utilisateur de Exel pratique et je l'en remercie):
Private Sub Worksheet_Change(ByVal Target As Range)
Dim sForm As String, Semaine As String
If Target.Address = "$G$8" Then
' Récupérer la semaine sélectionnée en supprimant l'espace
Semaine = Replace(Range("G8").Value, " ", "")
' Important, désdactiver les évènements avant modification
Application.EnableEvents = False
' Formule à inscrire pour le BEX
sForm = "=SI(G8='\\atlas.edf.fr\CO\974sd-sei\Operateur-Reseau.007\DEM-Exploit.007\SUIVI EXPLOITATION\PLANNING EQUIPE BEX\2020\[Planning 2020 BEX HTB v1 EXEMPLE.xlsx]###'!$I$4;INDEX('\\atlas.edf.fr\CO\974sd-sei\Operateur-Reseau.007\DEM-Exploit.007\SUIVI EXPLOITATION\PLANNING EQUIPE BEX\2020\[Planning 2020 BEX HTB v1 EXEMPLE.xlsx]###'!$C$6:$D$28;EQUIV('N°SEMAINE ABD '!$E$2;'\\atlas.edf.fr\CO\974sd-sei\Operateur-Reseau.007\DEM-Exploit.007\SUIVI EXPLOITATION\PLANNING EQUIPE BEX\2020\[Planning 2020 BEX HTB v1 EXEMPLE.xlsx]###'!$D$6:$D$28;0);1);"""")"
' Inscrire la formule
Range("B15").FormulaLocal = Replace(sForm, "###", Semaine)
'
' Formule pour la maintenance
sFrom = "=SI(G8='\\atlas.edf.fr\CO\974sd-sei\Operateur-Reseau.007\DEM-Htb.008\EQUIPE MAINTENANCE HTB\PLANNING\PLANNING EQUIPE\[Copie de Planning 2020 HTB v1.xlsx]###'!$J$4;INDEX('\\atlas.edf.fr\CO\974sd-sei\Operateur-Reseau.007\DEM-Htb.008\EQUIPE MAINTENANCE HTB\PLANNING\PLANNING EQUIPE\[Copie de Planning 2020 HTB v1.xlsx]###'!$D$6:$E$26;EQUIV('N°SEMAINE ABD '!$E$2;'\\atlas.edf.fr\CO\974sd-sei\Operateur-Reseau.007\DEM-Htb.008\EQUIPE MAINTENANCE HTB\PLANNING\PLANNING EQUIPE\[Copie de Planning 2020 HTB v1.xlsx]###'!$E$6:$E$26;0);1);"""")"
' Inscrire la formule
Range("C15").FormulaLocal = Replace(sForm, "###", Semaine)
' Réactiver les évènements
Application.EnableEvents = True
End If
End Sub
Merci à vous
Bonjour,
Comment se compliquer la vie ? faire une liste de Choix avec des S 1 S 2 S .......
C'était pas plus simple, si réel besoin, de mettre le S dans une cellule et le Numéro dans une autre ? les formules avec la valeur du numéro de semaine en seraient
facilitées.
Bonjour,
Comment se compliquer la vie ? faire une liste de Choix avec des S 1 S 2 S .......
C'était pas plus simple, si réel besoin, de mettre le S dans une cellule et le Numéro dans une autre ? les formules avec la valeur du numéro de semaine en seraient
facilitées.
Bonjour,
J'y avais pensé, mais les feuilles des planning que j'utilise se nomme comme cela. J'y avais pensé…. Merci pour votre réponse