Listes déroulantes avec réponses multiples PROBLEME !!
Résolu
wuhrlinanthony
Messages postés
57
Statut
Membre
-
wuhrlinanthony Messages postés 57 Statut Membre -
wuhrlinanthony Messages postés 57 Statut Membre -
Bonjour,
Je suis entrain de créer un questionnaire et pour que celui-ci soit plus rapide a répondre et parait moins long sur la tablette, j'ai créer des listes déroulantes de réponses a choisir.
Une première colonne de listes déroulantes où l'on peut choisir une réponses et qui ensuite engendre une deuxième colonne de listes déroulantes où là le candidats peut répondre jusqu'à 3 réponses maximum.
Le code que j'ai créer fonctionne parfaitement pour les colonnes de liste déroulantes mais il y a 4 listes déroulantes qui ne suivent pas le code et je comprend d'où viens l'erreur puisque toutes les autres fonctionnent.
Pouvez-vous m'aider ? Je vous joins le fichier , car c'est assez compliquer à expliquer.
Fichier : http://www.cjoint.com/c/EIbiqMc71TU
Il y a 4 listes déroulantes en rouge qui ne fonctionne pas comme les autres.
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo exitHandler
Dim rngDV As Range
Dim lRow As Long
Dim lCol As Long
Dim iCol As Integer
lCol = Target.Column 'column with data validation cell
If Target.Count > 1 Then GoTo exitHandler
On Error Resume Next
Set rngDV = Cells.SpecialCells(xlCellTypeAllValidation)
On Error GoTo exitHandler
If rngDV Is Nothing Then GoTo exitHandler
If Intersect(Target, rngDV) Is Nothing Then
'do nothing
Else
If Target.Value = "" Then GoTo exitHandler
Application.EnableEvents = False
Select Case Target.Column
Case 3
If Target.Offset(0, 1).Value = "" Then
lRow = Target.row
Else
lRow = Cells(Rows.Count, lCol + 1).End(xlUp).row + 1
End If
Cells(lRow + 1, lCol).Value = Target.Value
Target.ClearContents
End Select
If Target.Column = 5 Then
If Target.Value = "" Then GoTo exitHandler
If Target.Validation.Value = True Then
iCol = Cells(Target.row, Columns.Count).End(xlToLeft).Column + 1
Cells(Target.row, iCol).Value = Target.Value
Else
Target.Activate
End If
End If
End If
exitHandler:
Application.EnableEvents = True
End Sub
Merci
Je suis entrain de créer un questionnaire et pour que celui-ci soit plus rapide a répondre et parait moins long sur la tablette, j'ai créer des listes déroulantes de réponses a choisir.
Une première colonne de listes déroulantes où l'on peut choisir une réponses et qui ensuite engendre une deuxième colonne de listes déroulantes où là le candidats peut répondre jusqu'à 3 réponses maximum.
Le code que j'ai créer fonctionne parfaitement pour les colonnes de liste déroulantes mais il y a 4 listes déroulantes qui ne suivent pas le code et je comprend d'où viens l'erreur puisque toutes les autres fonctionnent.
Pouvez-vous m'aider ? Je vous joins le fichier , car c'est assez compliquer à expliquer.
Fichier : http://www.cjoint.com/c/EIbiqMc71TU
Il y a 4 listes déroulantes en rouge qui ne fonctionne pas comme les autres.
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo exitHandler
Dim rngDV As Range
Dim lRow As Long
Dim lCol As Long
Dim iCol As Integer
lCol = Target.Column 'column with data validation cell
If Target.Count > 1 Then GoTo exitHandler
On Error Resume Next
Set rngDV = Cells.SpecialCells(xlCellTypeAllValidation)
On Error GoTo exitHandler
If rngDV Is Nothing Then GoTo exitHandler
If Intersect(Target, rngDV) Is Nothing Then
'do nothing
Else
If Target.Value = "" Then GoTo exitHandler
Application.EnableEvents = False
Select Case Target.Column
Case 3
If Target.Offset(0, 1).Value = "" Then
lRow = Target.row
Else
lRow = Cells(Rows.Count, lCol + 1).End(xlUp).row + 1
End If
Cells(lRow + 1, lCol).Value = Target.Value
Target.ClearContents
End Select
If Target.Column = 5 Then
If Target.Value = "" Then GoTo exitHandler
If Target.Validation.Value = True Then
iCol = Cells(Target.row, Columns.Count).End(xlToLeft).Column + 1
Cells(Target.row, iCol).Value = Target.Value
Else
Target.Activate
End If
End If
End If
exitHandler:
Application.EnableEvents = True
End Sub
Merci
A voir également:
- Listes déroulantes avec réponses multiples PROBLEME !!
- Listes déroulantes excel - Guide
- Listes déroulantes en cascade excel - Guide
- Reponses automatique outlook - Guide
- Problème liste de diffusion whatsapp - Guide
- Liste combinaison possible avec 3 chiffres ✓ - Forum Programmation
1 réponse
Bonjour,
Le problème est que sur la même ligne que la liste de validation tu as du texte dans une colonne plus à droite ; c'est ça qui convient pas :
If Target.Validation.Value = True Then
iCol = Cells(Target.row, Columns.Count).End(xlToLeft).Column + 1
Cells(Target.row, iCol).Value = Target.Value
Else
C'est curieux que sur un questionnaire d'ergonomie, on utilise un outil aussi peu ergonomique. Pourquoi pas un formulaire web ou - à défaut - un formulaire Excel (UserForm) ?
A+
Le problème est que sur la même ligne que la liste de validation tu as du texte dans une colonne plus à droite ; c'est ça qui convient pas :
If Target.Validation.Value = True Then
iCol = Cells(Target.row, Columns.Count).End(xlToLeft).Column + 1
Cells(Target.row, iCol).Value = Target.Value
Else
C'est curieux que sur un questionnaire d'ergonomie, on utilise un outil aussi peu ergonomique. Pourquoi pas un formulaire web ou - à défaut - un formulaire Excel (UserForm) ?
A+
wuhrlinanthony
Messages postés
57
Statut
Membre
Merci beaucoup , c'est tellement bête en plus quand tu vois l'erreur ^^ . J'aimerais bien créer un formulaire sur internet mais je suis bloquer part certaine directive. Et j'ai commencer le VBA il y a 1 mois donc j'essaye de rendre cela plus facile mais c'est encore pas mal de boulot. En tout cas merci beaucoup. Je vais voir pour le UserForm.