Choix d'une cellule dans un ordre défini

Bonjours à tous,

J'ai encore besoin de votre aide,

Je cherche un moyen de changer de cellule en tapant "Tab" ou "Enter" dans un ordre bien défini.

exemple je suis sur "C2" je presse "Enter" la cellule "E4" se séléctionne, ensuite "C4", "C6", "C8", etc...

voir exemple.

Merci de votre aide.

22edition1.xlsm (10.03 Ko)

Bonjour,

Ci-joint ton fichier test ...

31edition1.xlsm (9.92 Ko)

Salut James007

merci beaucoup,

mais ce n'est malheureusement pas ça, je veux qu'elle s'affiche dans l'ordre demander, donc en protégeant le feuille cela vas de gauche a droite avec "tab" et de haut en bas avec "enter" et pas dans l'ordre que je veux.

Re,

Désolé que cela ne corresponde pas exactement (à une cellule près...) à ton attente ...

Il va falloir que tu le lances dans une macro ou dans un formulaire de saisie ...

Ok pour la macro, mais quel code?? je suis nul en VBA

Ambroise a écrit :

Ok pour la macro, mais quel code?? je suis nul en VBA

Re,

Est-ce-que tu utilises Oracle Open Office ...???

non, j'ai office 2013

OK ...

Donc tu utilises Excel ...

Pour une solution adaptée à ta situation, il vaut mieux que tu joignes ton fichier ...

OUILLE, le problème il est trop lourd,

si tu peux le faire sur le fichier que j'ai mi en exemple, je pourrais surement me débrouiller pour le mettre dans le mien je vais peut être prendre du temps a la comprendre mais c'est comme ça qu'on apprend lol

merci de ton aide.

Bonjour,

Dans ton véritable fichier ... as-tu déjà des formulaires de saisie ...???

https://www.excel-pratique.com/fr/vba/userform.php

Salut,

Oui, voicis les code que j'ai dans la feuille ou je veux faire un choix de cellule selectionnée.

Private Sub Worksheet_Activate()
Set Wbkédition = Nothing
 Sheets("édition").Range("X12:Z12").ClearContents

End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  If Not Intersect(Target, Range("J3:J15,W23:W85,AO1")) Is Nothing Then
    On Error Resume Next
    Target = IIf(Target = "2", "1", "2")
    Cancel = True
  End If
End Sub
Private Sub CommandButton22_Click()
Dim nom_feuil

If Sheets("édition").Range("A10") = "" Then
    MsgBox "Votre Nom est Obligatoire pour aller plus loin.)"
    ActiveSheet.Range("A10").Select
  Exit Sub
End If
    If Sheets("édition").Range("S13") = "" Then
  nom_feuil = Range("Y9").Value
Sheets(nom_feuil).Select
    Exit Sub
If Sheets("édition").Range("N12") = "non valide" Then
    MsgBox "Votre documents ne sera pas signé automatiquement car vous n'avez pas rentrée le bon mots de passe"

    End If
nom_feuil = Range("Y9").Value
Sheets(nom_feuil).Select

End Sub

Private Sub CommandButton21_Click()
 If Sheets("édition").Range("H1") = "" Then
    MsgBox "Reference client Obligatoire)"
    ActiveSheet.Range("H1").Select
    Exit Sub
End If
If Sheets("édition").Range("I20") = "X" Then 'ancienne reference
 Dim ligne As Integer, ligneRes As Integer
 ligne = Sheets("BDclient").Range("A65536").End(xlUp).Row 'Pour déterminer la fin du tableau de recherche si celui-ci n'est pas fixe
ligneRes = Application.WorksheetFunction.Match(Sheets("édition").Range("E1"), Sheets("BDclient").Range("A1:A" & ligne), False)
' on cherche l'équivalent de la référence en G8 dans la colonne A du tableau de la feuille info, la fonction MATCH correspond à
' EQUIV dans une feuille excel, et retourne le numéro de la ligne ou se situe le résultat recherché

 Sheets("BDclient").Range("B" & ligneRes) = Sheets("édition").Range("I2")
 Sheets("BDclient").Range("C" & ligneRes) = Sheets("édition").Range("I3")
 Sheets("BDclient").Range("D" & ligneRes) = Sheets("édition").Range("I4")
 Sheets("BDclient").Range("E" & ligneRes) = Sheets("édition").Range("I5")
 End If
 If Sheets("édition").Range("E1") = "X" Then 'nouvelle reference
 Dim Maligne As Integer
 Maligne = Sheets("BDclient").Range("A65536").End(xlUp).Row + 1
 Sheets("BDclient").Range("A" & Maligne) = Sheets("édition").Range("H1")
 Sheets("BDclient").Range("B" & Maligne) = Sheets("édition").Range("I2")
 Sheets("BDclient").Range("C" & Maligne) = Sheets("édition").Range("I3")
 Sheets("BDclient").Range("D" & Maligne) = Sheets("édition").Range("I4")
 End If
 ' Effacer les variables objet
 Set Wbkédition = Nothing
 Sheets("édition").Range("H1:H15").ClearContents
 Sheets("édition").Range("L1").ClearContents
 Sheets("édition").Range("J3:J15") = Sheets("édition").Range("AA9")
 ActiveSheet.Range("H1").Select
 End Sub

Slts

Bonjour,

Ci-joint ton fichier test ... avec la macro évènementielle ...

30edition-v2.xlsm (17.47 Ko)

Génial,

C'est exactement ça, je n'ai pas le temps maintenant de l'ajuster a mon classeur mais des lundi j'essaye, cela ma pas l'air bien compliquer si il y a un hic te recontact.

Merci beaucoup

Re,

Content que cela réponde à ton attente ...

Merci pour tes remerciements...

Salut James,

Ben voila j'ai un petit problème, si des lignes se suivent sans espace entre, cela ne fonctionne pas, il prend la colonne entière comme sur l'exemple ci dessous (j'ai refais le même en supprimant les lignes.) Je pourrais bien insérer une lignes ou j'en ai besoin, le seul hic, c'est que je devrais aussi revoir toute les macro pour changer d'une ou 2 ligne suivant les quelle.

Y a il une solution.

Sinon la première ligne

Option explicit, a quoi sert elle? est elle obligatoire, si je la mets elle me fait planter les autres macro, si je la supprime, elle n'a pas l'air de l'affecter.

Merci encore.

Salut James,

Y a t'il une solutions a mon problème ci dessus??

Merci

Bonjour,

Il va de soi qu'en modifiant totalement la structure même de ton fichier de base ... la solution proposée n'est plus adaptée ...

Dans ta nouvelle configuration, je te conseille vivement d'utiliser un formulaire ...

Bon Courage pour la suite ...

Donc pas de solutions, Dommage,

Mais surtout encore merci pour le travaille exceptionnel que vous faite.

Bonjour,

Merci pour les remerciements que tu envoies à tous les membres du Forum ...!!!

Rechercher des sujets similaires à "choix ordre defini"