Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Vider une plage de cellules en fonction du contenu d'une autre cellule et obligation de remplir des cellules

3 réponses
Avatar
coincoin69
Bonjour =E0 toutes et =E0 tous,

Petit nouveau dans ce groupe de discution que je parcourais depuis de
nombreux jour, j'ai saut=E9 le pas et me suis inscri.

Plus d=E9butant que moi en VBA tu meurs !!!!!!!!

Voila mon chti probl=E8me :

Dans la colonne ("A:A") se trouve des cellules soit elles contiennent
la valeur "x" soit elles restent vides (comme une case =E0 cocher).
1) _SI la valeur de la cellule en ("A:A") est "x" l'utilisateur doit
obligatoirement saisir des donn=E9es dans les cellules contigues
("B,C,D"), =E9ventuellement avec une MsgBox du type :"Veuillez remplir
votre nom".
2) _ Si la valeur de la cellule en ("A:A") est "" (vide) les cellules
contigues ("B,C,D") doivent alors aplliqu=E9es : ClearContents pour que
l'ensemble de la plage soit vide et =E0 nouveaux utilisable.

Bein voila, je crois que j'ai tout di, je retourne me torturer le
cerveau =E0 grand coup de VBA, merci par avance de vos r=E9ponses.

Le Coincoin69 vous salut bien.

3 réponses

Avatar
Jacky
Bonjour,

Essaie ceci:
'---------
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("b" & Target.Row & ":d" & 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
'-------------
--
Salutations
JJ


"coincoin69" a écrit dans le message de news:

Bonjour à toutes et à tous,

Petit nouveau dans ce groupe de discution que je parcourais depuis de
nombreux jour, j'ai sauté le pas et me suis inscri.

Plus débutant que moi en VBA tu meurs !!!!!!!!

Voila mon chti problème :

Dans la colonne ("A:A") se trouve des cellules soit elles contiennent
la valeur "x" soit elles restent vides (comme une case à cocher).
1) _SI la valeur de la cellule en ("A:A") est "x" l'utilisateur doit
obligatoirement saisir des données dans les cellules contigues
("B,C,D"), éventuellement avec une MsgBox du type :"Veuillez remplir
votre nom".
2) _ Si la valeur de la cellule en ("A:A") est "" (vide) les cellules
contigues ("B,C,D") doivent alors aplliquées : ClearContents pour que
l'ensemble de la plage soit vide et à nouveaux utilisable.

Bein voila, je crois que j'ai tout di, je retourne me torturer le
cerveau à grand coup de VBA, merci par avance de vos réponses.

Le Coincoin69 vous salut bien.
Avatar
Daniel
Bonjour.
Essaie :

Sub test()
Dim c As Range, Plage As Range, Ligne As Long
Set Plage = Range("A1", Range("A65536").End(xlUp))
Ligne = Plage.Rows.Count + 1
Range(Cells(Ligne, 1), Cells(65536, 4)).ClearContents
For Each c In Plage
If c.Value = "x" Then
Do While c.Offset(0, 1) = ""
c.Offset(0, 1) = InputBox("Entrez le nom")
If c.Offset(0, 1) = "" Then
MsgBox "saisie obligatoire"
End If
Loop
Do While c.Offset(0, 2) = ""
c.Offset(0, 2) = InputBox("Entrez le prénom")
If c.Offset(0, 2) = "" Then
MsgBox "saisie obligatoire"
End If
Loop
Do While c.Offset(0, 3) = ""
c.Offset(0, 3) = InputBox("Entrez le code postal")
If c.Offset(0, 3) = "" Then
MsgBox "saisie obligatoire"
End If
Loop
End If
Next c
End Sub

Cordialement.
Daniel
"coincoin69" a écrit dans le message de news:

Bonjour à toutes et à tous,

Petit nouveau dans ce groupe de discution que je parcourais depuis de
nombreux jour, j'ai sauté le pas et me suis inscri.

Plus débutant que moi en VBA tu meurs !!!!!!!!

Voila mon chti problème :

Dans la colonne ("A:A") se trouve des cellules soit elles contiennent
la valeur "x" soit elles restent vides (comme une case à cocher).
1) _SI la valeur de la cellule en ("A:A") est "x" l'utilisateur doit
obligatoirement saisir des données dans les cellules contigues
("B,C,D"), éventuellement avec une MsgBox du type :"Veuillez remplir
votre nom".
2) _ Si la valeur de la cellule en ("A:A") est "" (vide) les cellules
contigues ("B,C,D") doivent alors aplliquées : ClearContents pour que
l'ensemble de la plage soit vide et à nouveaux utilisable.

Bein voila, je crois que j'ai tout di, je retourne me torturer le
cerveau à grand coup de VBA, merci par avance de vos réponses.

Le Coincoin69 vous salut bien.
Avatar
coincoin69
Un Suuuuuuuuuuper Graaaaaaaaaaand merci à vous,

Cela fonctionne super bien, maintenant à moi de l'adapter exactement à
ma feuille de calcul, il faut quand même que je mi colle pour
apprendre il n'y a pas mieux je crois pour apprendre , c'est en
forgant que que l'on devient forgeron !
Donc il n'est pas dit que je ne revienne pas pour une chtite info.

Bon Week à vous et encorre merci.

Le Coincoin698