Aller à la colonne suivante automatiquement / autre question

Bonjour,

Je suis nouveau sur ce serveur et veuillez donc m'excuser d'avance si je ne respecte pas certaines de ses règles.

Je dois créer un fichier excel pour ensuite y saisir les données issues de 3 000 questionnaires de satisfaction. J'essaie donc de tout mettre en oeuvre pour rendre la saisie la plus efficace possible.

Je n'y connais pas grand chose en VBA, aussi je demande votre d'aide pour deux choses :

- je voudrais d'abord permettre à celui qui fait la saisie, lorsqu'il arrive à la fin d'une colonne (un questionnaire ou individu par colonne, les réponses aux questions sont donc les lignes) d'aller directement à la cellule de la deuxième ligne de la colonne suivante en faisant entrée.

- ensuite, j'aimerais sauter des lignes (i.e. des questions ) pour que si la réponse est "0" à une question, en faisant entrée, on arriver directement à la cellule située dans la même colonne mais plusieurs lignes en dessous.

Par exemple : "avez-vous vous des remarques sur les questions posées " réponse : 0 ou 1, et si 0, on saute la ligne d'après.

Voilà, en espérant avoir été assez clair...

Je vous remercie d'avance !

bonjour

"fin d'une colonne (un questionnaire ou individu par colonne, les réponses aux questions sont donc les lignes) d'aller directement à la cellule de la deuxième ligne de la colonne suivante en faisant entrée. "

je ne comprends pas

peux-tu joindre un fichier exemple

Salut,

Bonjour jmd,

comme je comprends l'affaire, les questions sont en colonne A, les noms des personnes (ou leur numéro de questionnaire) sont en ligne 1 et les réponses à chaque questionnaire individuel sont en colonne B2..., C2..., D2,...

Pas le temps de jouer malheureusement aujourd'hui...

A+

Finalement, si j'ai bien compris l'affaire, c'est très, très simple!

Quelque chose comme ça, Igguk ?

Private Sub Worksheet_Change(ByVal Target As Range)
'
iRow = Target.Row
iCol = Target.Column
'
sFlag = Target.Value
'
If Cells(iRow, 2) = "" Then Exit Sub
'
Select Case Cells(iRow, 2)
    Case 0
        Cells(2, iCol + 1).Select
    Case Else
        If sFlag = Cells(iRow, 1) Then Cells(Cells(iRow, 2), iCol).Select
End Select
'
End Sub

Je ne connais pas la longueur de ton questionnaire, évidemment, mais le système consiste à mettre en regard de la ligne concernée par un saut éventuel, en colonne A la réponse provoquant le saut et en colonne B, la cellule d'atterrissage.

A la dernière question, en "B", tu mets 0 (zéro).

Ici, j'ai supposé des réponses 1 ou 0.

On peut même éviter le ENTER et sauter directement à la question suivante dès l'entrée de la réponse si la réponse tient en 1 caractère!

A+

64questionnaire.xlsm (13.38 Ko)

Je n'ai pas le temps de voir ta réponse tout de suite mais voici le fichier en attendant et la réponse que j'étais en train d'écrire avant que tu ne répondes.

Et donc je voudrais qu'une fois qu'on a rempli la cellule B64 et qu'on fait entrée, on arrive directement en C2, et ainsi de suite pour chaque colonne.

Pour la deuxième chose, je voudrais que si on met un 0 dans la cellule B15 ( l'individu n'a pas de remarque à faire) et qu'on appuie sur entrée, on arrive directement en B21. Le but étant que les personnes qui vont saisir ne se trompent pas et décalent toutes les réponses.

Et bien sûr, je voudrais que ces deux choses s'appliquent pour chaque colonne.

Salut Igguk,

va créer un lien vers ton fichier sur CJOINT.COM et colle ce lien dans un nouveau message, stp.

Je ne suis pas sûr, sur cet ordinateur qui n'est pas le mien, de pouvoir le décompresser!

A+

Voilà :

Merci de prendre le temps de t'intéresser à mon cas !

Bonsoir igguk,

en fait, le franc était tombé un peu après mon dernier post mais, à force de faire 36.000 codes en même temps, j'ai parfois des ralentissements de bande pensante!

Voilà! Très simple!

Private Sub Worksheet_Change(ByVal Target As Range)
'
Select Case Target.Row
    Case 15
        If Target.Value = 0 Then Cells(21, Target.Column).Select
    Case 64
        Cells(2, Target.Column + 1).Select
End Select
'
End Sub

Bon travail!

A+

Et ça marche comme sur des roulettes !

Merci beaucoup à toi curulis57 !

Je suis toujours agréablement surpris de l'efficacité de ce genre de forum d'entraide.

Merci encore et à bientôt !

Rebonjour,

Le code marche bien !

J'aimerais simplement le compléter en remplissant les cellules que je saute par un 0. En gros, si la cellule "machin" =0 alors sélectionne la cellule 5 lignes en dessous et mets des 0 dans toutes les lignes que j'ai sautées.

Merci !

Bonjour Igguk,

en effet, je n'avais pas songé à cela!

Evidemment, 3000 questionnaires dans ces conditions...

Private Sub Worksheet_Change(ByVal Target As Range)
'
Select Case Target.Row
    Case 15
        If Target.Value = 0 Then
            Range(Cells(16, Target.Column), Cells(20, Target.Column)).Value = 0
            Cells(21, Target.Column).Select
        End If
    Case 64
        Cells(2, Target.Column + 1).Select
End Select
'
End Sub

Voilà, bon travail!

A+

Rechercher des sujets similaires à "aller colonne suivante automatiquement question"