Problème de sélection de cellules

  • Initiateur de la discussion Initiateur de la discussion Bud.boundy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

Bud.boundy

Guest
Bonjour,

Après avoir déjà posé le problème hier, je suis toujours dans l'impasse sans doute à cause de mon incompétence à retranscrire les informations qui ont été transmises. DONC JE RECOMMENCE DEPUIS LE DEBUT :

Avec les 2 formules ci-dessous, ma macro s'appilque dans la colonne 4 et dans toutes les cellules suivant la ligne 13.
COMMENT FAIRE POUR QUE CETTE MACRO S'APPLIQUE DANS LES COLONNES 4, 8 et 12 PUIS AU NIVEAU DES LIGNES 12 à 16 puis 20 à 24 et enfin sur les lignes 30 à 34 ? MERCI

Voici le code existant que je n'arrive pas à transformer :

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' Activé au changement de sélection de cellule seulement en colonne 1 et 2 et en dessous de la ligne 13
Dim LST As String
If ActiveCell.Column = 4 And ActiveCell.Row > 13 Then
LST = "Travaux"
Définir (LST)
End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
' Activé au changement de sélection dans la liste déroulante en colonne 2 et en dessous de le ligne 13
If ActiveCell.Column = 2 And ActiveCell.Row > 13 Then Définir (Target)
End Sub
 
Salut,

Un select case devrait faire l'affaire :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' Activé au changement de sélection de cellule seulement en colonne 1 et 2 et en dessous de la ligne 13
with target
if .cells.count >1 then exit sub 'plusieurs cellules selectionnées
select case .column
case 4,8,12
select case .row
case 12 to 16,20 to 24,30 to 34 :definir("travaux")
end select
end select
end with
End Sub

A+++

ps: il vaut mieux eviter les accents dans le nom de procédures
 
salut bud,

je propose
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' Activé au changement de sélection de cellule seulement en colonne 1 et 2 et en dessous de la ligne 13
>Dim LST As String
>If ActiveCell.Column = 4 And ActiveCell.Row > 13 Then
>LST = "Travaux"
>Définir (LST)
elseif ActiveCell.Column = 8 And ActiveCell.Row > 13 Then
gnagna
elseif ActiveCell.Column = 12 And ActiveCell.Row > 13 Then
gnagna
>End If
>End Sub

sinon peut-être avec "select case"
sur le couple de valeur Colonne Ligne ...

j'espère t'avoir dépanné

jyM
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
486
Réponses
1
Affichages
301
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
213
Réponses
2
Affichages
114
Réponses
4
Affichages
380
Retour