Qui pourrait m'apporter une correction sur un code VBA

  • Initiateur de la discussion Initiateur de la discussion flight7218
  • 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 !

F

flight7218

Guest
Bonjour

j'ai le code vba suivant :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2 And Target.Row > 20 And Target.Row < 56 Then
Cells(Target.Row, 3) = 111189 + Target.Row - 21
End If
End Sub

il permet de générer des numéros sur la colonne C en face de chaque cellule de la colonne B par clique sur une cellule de colonne B

je voudrai reprendre la meme instruction mais cette fois entre les colonnes E et F
j'ai ecris donc le code suivant sur un nouveau module vba de la meme feuille :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 5 And Target.Row > 20 And Target.Row < 56 Then
Cells(Target.Row, 6) = 214189 + Target.Row - 21
End If
End Sub

rien ne se passe , je ne trouve pas mon erreur !

merci d'avance pour toute ceux ou celles qui pourrait m'aiguiller
 
Re : Qui pourrait m'apporter une correction sur un code VBA

Bonjour,

j'ai ecris donc le code suivant sur un nouveau module vba de la meme feuille :

A noter, dans un même module de feuille, tu ne peux avoir qu'une seule procédure "SelectionChange" :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

bonne journée
@+
 
Re : Qui pourrait m'apporter une correction sur un code VBA

Bonjour,

je te conseille de tout mettre dans le meme sub, et normalement ca fonctionne.

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2 And Target.Row > 20 And Target.Row < 56 Then
Cells(Target.Row, 3) = 111189 + Target.Row - 21
End If
If Target.Column = 5 And Target.Row > 20 And Target.Row < 56 Then
Cells(Target.Row, 6) = 214189 + Target.Row - 21
End If
End Sub

Cordialement

Suistrop

Edit : Salut pierrot93!
 
Dernière édition:
Re : Qui pourrait m'apporter une correction sur un code VBA

Bonjour,

Si je comprends bien tu as écrit deux procédures Worksheet_SelectionChange, il ne peut y en avoir qu'une, il faut que tu gères tes deux conditions dans la même.

Pour le reste ..; quand tu postes du code, pourrais-tu utiliser la balise de code (le signe # qui se trouve au dessus de la fenêtre de message), c'est bien plus lisible ! merci à toi 🙂

Bonne journée,

mth

Edit: Hello suistrop, Pierrot 🙂 🙂
Un peu lente mth !!!
bise,
m
 
Re : Qui pourrait m'apporter une correction sur un code VBA

Bonjour flight7218,

Pas bien compris l'énoncé, mais, à priori, tu ne peux avoir 2 macros événementielles sur le même feuille : d'ailleurs tu devrais avoir un message d'erreur ?

Il faut écrire les 2 instructions dans le même événement, soit :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2 And Target.Row > 20 And Target.Row < 56 Then
  Cells(Target.Row, 3) = 111189 + Target.Row - 21
  Exit Sub
End If
If Target.Column = 5 And Target.Row > 20 And Target.Row < 56 Then
  Cells(Target.Row, 6) = 214189 + Target.Row - 21
End If
End Sub
Espérant avoir répondu.

Cordialement.

Edit : bonjour Pierrot93; suistrop, mth et les autres
 
Dernière édition:
Re : Qui pourrait m'apporter une correction sur un code VBA

Bonjour le fil, bonjour le forum,

Le code ci-dessous doit remplacer le premier:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column <> 5 Then Exit Sub
If Target.Row < 21 Or Target.Row > 55 Then Exit Sub
Cells(Target.Row, 6) = 214189 + Target.Row - 21
End Sub
Si tu veux combiner les deux :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row < 21 Or Target.Row > 55 Then Exit Sub
Select Case Target.Column
    Case 2, 5
        Cells(Target.Row, 6) = 214189 + Target.Row - 21
End Select
End Sub

[Édition]
Salut à tous ... J'suis pas en avance...
 
Dernière édition:
Re : Qui pourrait m'apporter une correction sur un code VBA

En tout je tiens à vous remercier infiniment pour vos intervention ! à present ca marche bien 😉
Vous faites un travail d'aide formidable et tres formateur aupres de ceux qui ont besoin de progresser sous excel / vba !
 
- 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

Retour