Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…