Microsoft 365 Vba - Nom ambigu detecté

Lazz

XLDnaute Junior
Bonjour,

Je ne suis pas du tout caler en VBA mais j'ai trouver un code qui fais ce que je recherche et qui fonctionne bien.
J'aimerai maintenant reproduire le même programme mais pour des plages différentes. J'ai copié coller le programme en changeant les plage de cellule mais cela me met "nom ambigu détecté" et je ne sais pas quoi changer pour que cela fonctionne.

je vous met une photos pour illustrer ce que je raconte
1637748670370.png

pouvez vous m'aidez ?
merci :)
 
Solution
bonjour

Peut etre comme cela : pas testé


VB:
Public Sub Worksheet_change(ByVal Target As Range)
Dim rng2 As Range
If Target.Column = 8 Then
    If Target.Value = "oui" Then
        Set rng2 = Range(Cells(Target.Row, Target.Column + 8), Cells(Target.Row, Target.Column + 8))
        rng2.Activate
        Do While (IsEmpty(rng2.Value))
            MsgBox ("Veuillez renseigner cette cellule")
            rng2.Value = InputBox("oui ou non ?")
        Loop
        End If
 ElseIf Target.Column = 16 Then
    If Target.Value = "" Then
    Set rng2 = Range(Cells(Target.Row, Target.Column + 1), Cells(Target.Row, Target.Column + 1))
    rng2.Activate
        Do While (IsEmpty(rng2.Value))
            MsgBox ("Veuillez renseigner cette cellule")...

patricktoulon

XLDnaute Barbatruc
re
a perfectionner
exemple pour colonnes A , C et E
dans le module de la feuille concerné
VB:
Dim nextcell As Range
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    Select Case Target.Column

    Case 1
        If Target <> "" Then Set nextcell = Target.Offset(, 2)

    Case 3
        If Target.Offset(, -2) = "" Then Set nextcell = Target.Offset(, -2)
        If Target <> "" Then Set nextcell = Target.Offset(, 2)

    Case 5
        If Target.Offset(, -4) = "" Then Set nextcell = Target.Offset(, -4):  nextcell.Activate: Exit Sub
        If Target.Offset(, -2) = "" Then Set nextcell = Target.Offset(, -2)


    Case Else
    End Select
    If Not nextcell Is Nothing Then nextcell.Activate
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
   If "35" Like "*" & Target.Column & "*" and not nextcell is nothing Then If Target.Offset(, -2).Row = nextcell.Row Then Exit Sub
    If Not nextcell Is Nothing Then nextcell.Activate
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
311 740
Messages
2 082 047
Membres
101 880
dernier inscrit
Anton_2024