Bonsoir,
Pour le code, ce serait mieux avec le fichier mais sur le principe, ce sera quelque chose comme ça :
Sub Fusionner()
Dim NbL as long, i as long
NbL = usedrange.rows.count
for i = 1 to NbL 'pour chaque ligne la la zone utilisée
if cells(i,1).value = -1 then 'si la cellule en A (de ligne i) vaut -1
Range(cells(i,5),cells(i,7)).MergeCells = true 'alors : fusion cellules E à G sur ligne i
'Else: Range(cells(i,5),cells(i,7)).MergeCells = False 'sinon : défusionner (à activer le cas échéant)
end if
next i
Msgbox "Fusion des cellules OK"
End sub
Préalables :
- activer l'onglet développeur (aller sur onglet "Fichier"/Options/personnaliser le ruban/cocher "Développeur"),
- enregistrer le fichier sous l'extension xlsm,
- ouvrir, dans l'onglet développeur, l'éditeur "Visual Basic",
- insérer un module et y copier ce code (cette "macro").
Pour une utilisation optimisée, insérer un bouton (permettant d'exécuter la macro en un clic), toujours depuis l'onglet développeur, dans la feuille sur laquelle porte ce code et affecter à ce bouton la macro "Fusionner".
Cordialement,
Edit : j'ai supprimé le double point grâce aux observations affutées de LouReed ! Merci !