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

RONIBO

XLDnaute Impliqué
bonsoir, 🙂

est ce que quelqu'un a du temps à consacrer pour me corriger ce macro?

Private Sub Worksheet_SelectionChange(ByVal Target As Range) Cells(16, 1) = StrConv(Cells(16, 1), 1) Cells(18, 1) = StrConv(Cells(18, 1), 1) Cells(17, 7) = StrConv(Cells(17, 7), 1) Private Sub Worksheet_SelectionChange(ByVal Target As Range) ' clic en dehors des tableaux pous effacer les lignes coloriées Range("A23:H" & Range("A65535").End(xlUp).Row).Interior.Pattern = xlNone ' Pour le tableau If Not Intersect(Target, Range("A23:H43")) Is Nothing And Target.Count = 1 Then Range("A23:H" & Range("A65535").End(xlUp).Row).Interior.Pattern = xlNone Range(Cells(Target.Row, 2), Cells(Target.Row, 8)).Interior.Color = RGB(200, 100, 150) End If End Sub Sub MasquerLignes() 'masquer les lignes à partir de la ligne 49 Range(Cells(49, 1), Cells(Rows.Count, 1)).EntireRow.Hidden = True

'masquer les colonnes à partir de la colonne H (ce qui correspond à la colonne 8) Range(Cells(1, 8), Cells(1, Columns.Count)).EntireColumn.Hidden = True End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) ' clic en dehors des tableaux pous effacer les lignes coloriées Range("A23:H" & Range("A65535").End(xlUp).Row).Interior.Pattern = xlNone ' Pour le tableau If Not Intersect(Target, Range("A23:H43")) Is Nothing And Target.Count = 1 Then Range("A23:H" & Range("A65535").End(xlUp).Row).Interior.Pattern = xlNone Range(Cells(Target.Row, 2), Cells(Target.Row, 8)).Interior.Color = RGB(200, 100, 150) End If End Sub

J'ai un message comme :

erreur de compilation

nom ambigui détecté Worksheet_SelectionChange

j'attends vos retour 🙂

a+
 
Re : Correction macro

Re

je ne l'ai pas traitée acr je ne sais pas à quoi elle sert, (dans l'exemple que tu as mis il n'y avait pas de code en feuille AAAA, il y a du code dans un module et je n'y ai pas touché et j'avais invalidé une ligne dans workbook_open car elle pointait sur une feuille qui n'existait pas dans l'exemple

quand à la macro masquer, elle masque les colonnes à partir de 8 (donc H) ce qui colle avec ta feuille de facture
mais elle masque les lignes à partir de 49 et tu en a plus que cela dans ta feuille ?????

de toute façon les masquages ayant été faits, il n'y a pas de raison pour les refaire en permanence, normalement, donc j ene vois pas à quoi peut servir cette macro
 
Re : Correction macro

Re

regarde si cela va mieux (le annul=1 était trop tard sur les lignes)

Code:
  Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Count > 1 Or annul = 1 Then annul = 0: Exit Sub
  'conversion écriture A16, G17, A18
  If Target.Address = "$A$16" Then annul = 1: Cells(16, 1) = StrConv(Cells(16, 1), 1): Exit Sub
  If Target.Address = "$A$18" Then annul = 1: Cells(18, 1) = StrConv(Cells(18, 1), 1): Exit Sub
  If Target.Address = "$G$17" Then annul = 1: Cells(17, 7) = StrConv(Cells(17, 7), 1): Exit Sub
  If Not Intersect(Target, Range("C23:E43")) Is Nothing Then annul = 1: Target = UCase(Left(Target, 1)) & Mid(Target, 2): Exit Sub
  annul = 0
  End Sub
 
Re : Correction macro

Re

regarde si cela va mieux (le annul=1 était trop tard sur les lignes)

Code:
  Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Count > 1 Or annul = 1 Then annul = 0: Exit Sub
  'conversion écriture A16, G17, A18
  If Target.Address = "$A$16" Then annul = 1: Cells(16, 1) = StrConv(Cells(16, 1), 1): Exit Sub
  If Target.Address = "$A$18" Then annul = 1: Cells(18, 1) = StrConv(Cells(18, 1), 1): Exit Sub
  If Target.Address = "$G$17" Then annul = 1: Cells(17, 7) = StrConv(Cells(17, 7), 1): Exit Sub
  If Not Intersect(Target, Range("C23:E43")) Is Nothing Then annul = 1: Target = UCase(Left(Target, 1)) & Mid(Target, 2): Exit Sub
  annul = 0
  End Sub

Bonjour,

Sa fonctionne nickel, en tout cas merci beaucoup, vraiment, je sais pas s'que j'aurai fait sans ton aide 😉
 
- 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

Discussions similaires

Réponses
5
Affichages
910
Retour