Affichage MsgBox quand on vide une cellule dans une colonne
2 réponses
coincoin69
Et bein me revoila,
Pas tr=E9s compliqu=E9 me direz vous, mais cela fait aux moins 3 heures
que je planche et pas moyen.
En fait je veux que la MsgBox s'affiche =E0 la fin de cette fonction :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [bn:bn]) Is Nothing Then
If UCase(Target) <> "X" Then Range("bo" & Target.Row & ":bp" &
Target.Row & ":bq" & Target.Row).ClearContents: Exit Sub
Ce bout de code fait partie de cette macro qui fonctionne =E0 merveille
grace =E0 vous !
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [bn:bn]) Is Nothing Then
If UCase(Target) <> "X" Then Range("bo" & Target.Row & ":bp" &
Target.Row & ":bq" & Target.Row).ClearContents: Exit Sub
For Each c In Range("bo" & Target.Row & ":bp" & Target.Row & ":bq"
& Target.Row)
recommence:
If c =3D "" Then
Range(c.Address).Select
Rens =3D InputBox("Vous devez renseigner la cellule : " &
Range(c.Address).Address(0, 0), Application.UserName)
If Rens <> "" Then
c.Value =3D Rens
Else
GoTo recommence
End If
End If
Next
End If
End Sub
J'ai bien aiss=E9 de la placer de partout, de remettre des "If" pas
moyen alors si vous avez la solution je prrrrrrrrrrrrreeenddddd !
Merci d'avance de vos r=E9ponses ,le Coincoin69 vous salut bien.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacky
Re.... Je n'ai pas compris la question Que souhaites-tu exactement changer au code ??? Quelle msgbox ????
Code que tu peux d'ailleurs modifier de cette façon (ça fait la même chose , mais c'est plus propre ;o))) '------------- Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [a:a]) Is Nothing Then If UCase(Target) <> "X" Then Range("b" & Target.Row & ":d" & Target.Row).ClearContents: Exit Sub For Each c In Range("a" & Target.Row & ":d" & Target.Row) Do While c = "" If c = "" Then Range(c.Address).Select Rens = InputBox("Vous devez renseigner la cellule : " & Range(c.Address).Address(0, 0), Application.UserName) If Rens <> "" Then c.Value = Rens End If End If Loop Next End If End Sub '----------- -- Salutations JJ
"coincoin69" a écrit dans le message de news:
Et bein me revoila,
Pas trés compliqué me direz vous, mais cela fait aux moins 3 heures que je planche et pas moyen. En fait je veux que la MsgBox s'affiche à la fin de cette fonction :
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [bn:bn]) Is Nothing Then If UCase(Target) <> "X" Then Range("bo" & Target.Row & ":bp" & Target.Row & ":bq" & Target.Row).ClearContents: Exit Sub
Ce bout de code fait partie de cette macro qui fonctionne à merveille grace à vous !
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [bn:bn]) Is Nothing Then If UCase(Target) <> "X" Then Range("bo" & Target.Row & ":bp" & Target.Row & ":bq" & Target.Row).ClearContents: Exit Sub For Each c In Range("bo" & Target.Row & ":bp" & Target.Row & ":bq" & Target.Row) recommence: If c = "" Then Range(c.Address).Select Rens = InputBox("Vous devez renseigner la cellule : " & Range(c.Address).Address(0, 0), Application.UserName) If Rens <> "" Then c.Value = Rens Else GoTo recommence End If End If Next End If End Sub
J'ai bien aissé de la placer de partout, de remettre des "If" pas moyen alors si vous avez la solution je prrrrrrrrrrrrreeenddddd !
Merci d'avance de vos réponses ,le Coincoin69 vous salut bien.
Re....
Je n'ai pas compris la question
Que souhaites-tu exactement changer au code ???
Quelle msgbox ????
Code que tu peux d'ailleurs modifier de cette façon (ça fait la même chose ,
mais c'est plus propre ;o)))
'-------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [a:a]) Is Nothing Then
If UCase(Target) <> "X" Then Range("b" & Target.Row & ":d" &
Target.Row).ClearContents: Exit Sub
For Each c In Range("a" & Target.Row & ":d" & Target.Row)
Do While c = ""
If c = "" Then
Range(c.Address).Select
Rens = InputBox("Vous devez renseigner la cellule : " &
Range(c.Address).Address(0, 0), Application.UserName)
If Rens <> "" Then
c.Value = Rens
End If
End If
Loop
Next
End If
End Sub
'-----------
--
Salutations
JJ
"coincoin69" <stgog@tiscali.fr> a écrit dans le message de news:
1170512154.525060.209250@s48g2000cws.googlegroups.com...
Et bein me revoila,
Pas trés compliqué me direz vous, mais cela fait aux moins 3 heures
que je planche et pas moyen.
En fait je veux que la MsgBox s'affiche à la fin de cette fonction :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [bn:bn]) Is Nothing Then
If UCase(Target) <> "X" Then Range("bo" & Target.Row & ":bp" &
Target.Row & ":bq" & Target.Row).ClearContents: Exit Sub
Ce bout de code fait partie de cette macro qui fonctionne à merveille
grace à vous !
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [bn:bn]) Is Nothing Then
If UCase(Target) <> "X" Then Range("bo" & Target.Row & ":bp" &
Target.Row & ":bq" & Target.Row).ClearContents: Exit Sub
For Each c In Range("bo" & Target.Row & ":bp" & Target.Row & ":bq"
& Target.Row)
recommence:
If c = "" Then
Range(c.Address).Select
Rens = InputBox("Vous devez renseigner la cellule : " &
Range(c.Address).Address(0, 0), Application.UserName)
If Rens <> "" Then
c.Value = Rens
Else
GoTo recommence
End If
End If
Next
End If
End Sub
J'ai bien aissé de la placer de partout, de remettre des "If" pas
moyen alors si vous avez la solution je prrrrrrrrrrrrreeenddddd !
Merci d'avance de vos réponses ,le Coincoin69 vous salut bien.
Re.... Je n'ai pas compris la question Que souhaites-tu exactement changer au code ??? Quelle msgbox ????
Code que tu peux d'ailleurs modifier de cette façon (ça fait la même chose , mais c'est plus propre ;o))) '------------- Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [a:a]) Is Nothing Then If UCase(Target) <> "X" Then Range("b" & Target.Row & ":d" & Target.Row).ClearContents: Exit Sub For Each c In Range("a" & Target.Row & ":d" & Target.Row) Do While c = "" If c = "" Then Range(c.Address).Select Rens = InputBox("Vous devez renseigner la cellule : " & Range(c.Address).Address(0, 0), Application.UserName) If Rens <> "" Then c.Value = Rens End If End If Loop Next End If End Sub '----------- -- Salutations JJ
"coincoin69" a écrit dans le message de news:
Et bein me revoila,
Pas trés compliqué me direz vous, mais cela fait aux moins 3 heures que je planche et pas moyen. En fait je veux que la MsgBox s'affiche à la fin de cette fonction :
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [bn:bn]) Is Nothing Then If UCase(Target) <> "X" Then Range("bo" & Target.Row & ":bp" & Target.Row & ":bq" & Target.Row).ClearContents: Exit Sub
Ce bout de code fait partie de cette macro qui fonctionne à merveille grace à vous !
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [bn:bn]) Is Nothing Then If UCase(Target) <> "X" Then Range("bo" & Target.Row & ":bp" & Target.Row & ":bq" & Target.Row).ClearContents: Exit Sub For Each c In Range("bo" & Target.Row & ":bp" & Target.Row & ":bq" & Target.Row) recommence: If c = "" Then Range(c.Address).Select Rens = InputBox("Vous devez renseigner la cellule : " & Range(c.Address).Address(0, 0), Application.UserName) If Rens <> "" Then c.Value = Rens Else GoTo recommence End If End If Next End If End Sub
J'ai bien aissé de la placer de partout, de remettre des "If" pas moyen alors si vous avez la solution je prrrrrrrrrrrrreeenddddd !
Merci d'avance de vos réponses ,le Coincoin69 vous salut bien.
anonymousA
Bonjour,
A la fin de quelle fonction ? Telle qu'écrite ta procédure oblige l'utilisateur à remplir successivement des cellules de "bo" à "bq" selon la ligne où a été écrite un X et elle fonctionne correctement en raison de l'interdiction d'aller plus loin si on ne saisit pas en colonne bn.
A+
Et bein me revoila,
Pas trés compliqué me direz vous, mais cela fait aux moins 3 heures que je planche et pas moyen. En fait je veux que la MsgBox s'affiche à la fin de cette fonction :
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [bn:bn]) Is Nothing Then If UCase(Target) <> "X" Then Range("bo" & Target.Row & ":bp" & Target.Row & ":bq" & Target.Row).ClearContents: Exit Sub
Ce bout de code fait partie de cette macro qui fonctionne à merveille grace à vous !
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [bn:bn]) Is Nothing Then If UCase(Target) <> "X" Then Range("bo" & Target.Row & ":bp" & Target.Row & ":bq" & Target.Row).ClearContents: Exit Sub For Each c In Range("bo" & Target.Row & ":bp" & Target.Row & ":bq" & Target.Row) recommence: If c = "" Then Range(c.Address).Select Rens = InputBox("Vous devez renseigner la cellule : " & Range(c.Address).Address(0, 0), Application.UserName) If Rens <> "" Then c.Value = Rens Else GoTo recommence End If End If Next End If End Sub
J'ai bien aissé de la placer de partout, de remettre des "If" pas moyen alors si vous avez la solution je prrrrrrrrrrrrreeenddddd !
Merci d'avance de vos réponses ,le Coincoin69 vous salut bien.
Bonjour,
A la fin de quelle fonction ? Telle qu'écrite ta procédure oblige
l'utilisateur à remplir successivement des cellules de "bo" à "bq" selon
la ligne où a été écrite un X et elle fonctionne correctement en raison
de l'interdiction d'aller plus loin si on ne saisit pas en colonne bn.
A+
Et bein me revoila,
Pas trés compliqué me direz vous, mais cela fait aux moins 3 heures
que je planche et pas moyen.
En fait je veux que la MsgBox s'affiche à la fin de cette fonction :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [bn:bn]) Is Nothing Then
If UCase(Target) <> "X" Then Range("bo" & Target.Row & ":bp" &
Target.Row & ":bq" & Target.Row).ClearContents: Exit Sub
Ce bout de code fait partie de cette macro qui fonctionne à merveille
grace à vous !
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [bn:bn]) Is Nothing Then
If UCase(Target) <> "X" Then Range("bo" & Target.Row & ":bp" &
Target.Row & ":bq" & Target.Row).ClearContents: Exit Sub
For Each c In Range("bo" & Target.Row & ":bp" & Target.Row & ":bq"
& Target.Row)
recommence:
If c = "" Then
Range(c.Address).Select
Rens = InputBox("Vous devez renseigner la cellule : " &
Range(c.Address).Address(0, 0), Application.UserName)
If Rens <> "" Then
c.Value = Rens
Else
GoTo recommence
End If
End If
Next
End If
End Sub
J'ai bien aissé de la placer de partout, de remettre des "If" pas
moyen alors si vous avez la solution je prrrrrrrrrrrrreeenddddd !
Merci d'avance de vos réponses ,le Coincoin69 vous salut bien.
A la fin de quelle fonction ? Telle qu'écrite ta procédure oblige l'utilisateur à remplir successivement des cellules de "bo" à "bq" selon la ligne où a été écrite un X et elle fonctionne correctement en raison de l'interdiction d'aller plus loin si on ne saisit pas en colonne bn.
A+
Et bein me revoila,
Pas trés compliqué me direz vous, mais cela fait aux moins 3 heures que je planche et pas moyen. En fait je veux que la MsgBox s'affiche à la fin de cette fonction :
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [bn:bn]) Is Nothing Then If UCase(Target) <> "X" Then Range("bo" & Target.Row & ":bp" & Target.Row & ":bq" & Target.Row).ClearContents: Exit Sub
Ce bout de code fait partie de cette macro qui fonctionne à merveille grace à vous !
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [bn:bn]) Is Nothing Then If UCase(Target) <> "X" Then Range("bo" & Target.Row & ":bp" & Target.Row & ":bq" & Target.Row).ClearContents: Exit Sub For Each c In Range("bo" & Target.Row & ":bp" & Target.Row & ":bq" & Target.Row) recommence: If c = "" Then Range(c.Address).Select Rens = InputBox("Vous devez renseigner la cellule : " & Range(c.Address).Address(0, 0), Application.UserName) If Rens <> "" Then c.Value = Rens Else GoTo recommence End If End If Next End If End Sub
J'ai bien aissé de la placer de partout, de remettre des "If" pas moyen alors si vous avez la solution je prrrrrrrrrrrrreeenddddd !
Merci d'avance de vos réponses ,le Coincoin69 vous salut bien.