Bug sur mon code

bonjour , j'ai un souci avec ce code , il me donne des resultats inattendus !

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("B21:B100" & Range("A65536").End(xlUp).Row)) Is Nothing And Target.Count = 1 Then
        If Cells(Target.Row, Target.Column + 1) = "" Then
            If WorksheetFunction.Max(Range("C21:C100" & Range("A65536").End(xlUp).Row)) = 0 Then
                Cells(Target.Row, Target.Column + 1) = 111000
            Else
                Cells(Target.Row, Target.Column + 1) = WorksheetFunction.Max(Range("C21:C100" & Range("A65536").End(xlUp).Row)) + 1
            End If
        End If
    End If

    If Not Intersect(Target, Range("E21:E100" & Range("A65536").End(xlUp).Row)) Is Nothing And Target.Count = 1 Then
        If Cells(Target.Row, Target.Column + 1) = "" Then
            If WorksheetFunction.Max(Range("F21:F100" & Range("A65536").End(xlUp).Row)) = 0 Then
                Cells(Target.Row, Target.Column + 1) = 114000
            Else
                Cells(Target.Row, Target.Column + 1) = WorksheetFunction.Max(Range("F21:F100" & Range("A65536").End(xlUp).Row)) + 1
            End If
        End If
    End If

    If Not Intersect(Target, Range("H21:H100" & Range("A65536").End(xlUp).Row)) Is Nothing And Target.Count = 1 Then
        If Cells(Target.Row, Target.Column + 1) = "" Then
            If WorksheetFunction.Max(Range("I21:I100" & Range("A65536").End(xlUp).Row)) = 0 Then
                Cells(Target.Row, Target.Column + 1) = 113000
            Else
                Cells(Target.Row, Target.Column + 1) = WorksheetFunction.Max(Range("I21:I100" & Range("A65536").End(xlUp).Row)) + 1
            End If
        End If
    End If
End sub

en fait au lieu d'avoir en colonne C à la cellule C21 : 111000 cela commence à 111270 ! de meme au lieu d'obtenir comme valeur de commencement 113000 à la cellule I21 ca commence par 113233 , je n'arrive pas à en trouver la cause !

Si vous pouviez m'indiquez l'erreur , sans quoi le code répond bien mais pas aux valeur initiales fixées

Merci


Merci inutile de me répondre , je viens de trouver

cordialement

Bonjour,

Ce genre de ligne n'a pas de sens

If Not Intersect(Target, Range("B21:B100" & Range("A65536").End(xlUp).Row)) 

Soit tu mets :

If Not Intersect(Target, Range("B21:B100")) 

ou ceci :

If Not Intersect(Target, Range("B21:B" & Range("A65536").End(xlUp).Row)) 

ou mieux comme ceci

If Not Intersect(Target, Range("B21:B" & Range("A" & rows.count).End(xlUp).Row)) 

Idem pour les autres lignes dans ton code.

Amicalement

Merci je vais faire les modif !

re,

Ok. Attention que dans ce code, la dernière ligne prise en compte sera la colonne A puisque Range("A" & rows.count)....

Si c'est la colonne B, remplace A par B

Amicalement

Rechercher des sujets similaires à "bug mon code"