Recherche de cellule

  • Initiateur de la discussion Initiateur de la discussion lesims1000
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

lesims1000

Guest
Bonjour tous le monde,
je suis en train de créer un planning de fabrication pour mon boulot,
ce tableau comporte 52 semaines (logique...) chaque semaine (disposé en colonne) comporte ensuite plusieurs ligne (les clients) avec des heures de fabrication pour chaque client.
ce planning est susceptible de changer régulièrement (un client peut passer de la semaine 19 à la semaine 20 par exemple.)

se que je voudrais c'est une fenêtre qui me donnerais la semaine correspondant au nom du client que je souhaite.
et éventuellement après avoir indiqué le numéro de semaine un bouton pour me déplacer directement sur les colonnes correspondantes à la semaine.


j'èspère que j'ai était assé clair dans mes éxplication, et que quelqu'un pourra m'aider !!....😀

PS: un exemple de présentation de mon tableau:
 

Pièces jointes

Re : Recherche de cellule

Re 🙂,
Hananemto : Pour ouvrir une nouvelle discussion (pour toi toute seule 😛), il faut être sur le forum et non dans une discussion. Là, en haut à gauche, tu as un gros bouton "Nouvelle discussion".
Pour ton problème, modifie le code comme suit :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.WorksheetFunction.CountBlank(Range("B2:B8")) = 0 Then
    Sheets("Feuil1").Range("B2") = "ok"
    Sheets("Feuil1").Activate
[COLOR=red]Else[/COLOR]
[COLOR=red]   Sheets("Feuil1").Range("B2") = "cliquer"[/COLOR]
End If
End Sub
qui mettra "cliquer" si toutes les conditions ne sont pas remplies.
Bonne journée 😎
 
Re : Recherche de cellule

merci bcp pour votre reponse
c'est vraiment ce que j'en a besoin.
une petite question est ce que je peut ajouter une autre commande qui permet de retourner "non valider" ou cas où aucune case n'est pas validé(pas de ok dans toutes les cases).
merci encore une fois
 
Re : Recherche de cellule

Re 🙂,
une petite question est ce que je peut ajouter une autre commande qui permet de retourner "non valider" ou cas où aucune case n'est pas validé(pas de ok dans toutes les cases).
C'est pas une commande, c'est simplement un autre test à rajouter dans la même sub
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.WorksheetFunction.CountBlank(Range("B2:B8")) = 0 Then
    Sheets("Feuil1").Range("B2") = "ok"
    Sheets("Feuil1").Activate
[COLOR=black]Else[/COLOR]
[COLOR=black]  Sheets("Feuil1").Range("B2") = "cliquer"[/COLOR]
End If
If Application.WorksheetFunction.CountBlank(Range("B2:B8")) = 7 Then
MsgBox("Non validé")
End If
End Sub
mais ce n'est que l'extrème, quand aucun dosage n'est fait...
La logique serait plutôt
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.WorksheetFunction.CountBlank(Range("B2:B8")) = 0 Then
    Sheets("Feuil1").Range("B2") = "ok"
    Sheets("Feuil1").Activate
[COLOR=black]Else[/COLOR]
[COLOR=black]  Sheets("Feuil1").Range("B2") = "cliquer"[/COLOR]
[COLOR=black]  MsgBox("Il vous reste " & 7 - Application.WorksheetFunction.CountBlank(Range("B2:B8")) & " dosage(s) à faire")[/COLOR]
End If
End Sub
qui renverra le nombre de dosage restant à faire
Bon courage 😎
LeSims1000 : Désolé pour la polution de ton post...
 
Re : Recherche de cellule

bonsoir
merci pour votre reponse, j'ai encore un petit problème c'est que je veux faire le lien des cellules bien précises dans la feuiile 1 et d'autres dans la feuille 2
donc j'ai ajouter ceci au code mais ca marche pas trés bien :

code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$B$2" Then Sheets("Feuil2").Activate
If Target.Address = "$B$24" Then
Sheets("Feuil2").Activate
Sheets("Feuil2").Range("C30").Select
End If
If Target.Address = "$C$30" Then
Sheets("Feuil2").Activate
Sheets("Feuil2").Range("D40").Select
End If
End Sub

merci encore une fois
 
Re : Recherche de cellule

Bonsoir,
Peut-être comme ceci
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Select Case Target.Address
    Case "$B$2"
        Sheets("Feuil2").Activate
    Case "$B$24"
        With Sheets("Feuil2")
        .Activate
        .Range("C30").Activate
        End With
    Case "$C$30"
        With Sheets("Feuil2")
        .Activate
        .Range("D40").Activate
        End With
End Select
End Sub
A+
kjin
 
Re : Recherche de cellule

ok
merci ca marche
mais j'ai encore une autre question c'est que je veux avoir des ok automatiquement une fois je tape des commentaires dans une cellule
Mr JNP m'a donné ce code :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then Cells(Target.Row, 2) = "ok"
End Sub
mais je veux avoir les ok juste dans les lignes entre 2 et 8 et non pas dans toute la feuille
merci encore une fois
 
Re : Recherche de cellule

pour la première question c'est ok a marche trés bien.
le mais juste pour poser une autre question.
j'ai ce code :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then Cells(Target.Row, 2) = "ok"
End Sub

ce code permet d'avoir des ok automatiquent (D1 par exemple )une fois je tape un commentaire dans la cellule (B1).
mais je veux limiter ce truc juste pour les lignes de 2 jusqu'à 8
j'espère que c'est clair mtn
merci d'avance
 
Re : Recherche de cellule

Bonjour,
Code:
Target.Column = 1
correspond à la colonne 1, me semble t-il, tu auras du mal à obtenir qqchose si tu utilises la cellule B1 !!!, et qui est sur la ligne 1 🙄
Pour limiter le fonctionnement de la procédure (le truc en question !) aux lignes 2 à 8 de la colonne B (2 donc) avec pour résultat "OK" en colonne D
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 1 And Target.Row < 9 And Target.Column = 2 Then Target.Offset(, 2) = "OK"
End Sub
A noter que de cette manière, la cellule de la colonne D n'est pas actualisée en cas d'effacement de la cellule correspondante de la colonne B.
Pour actualiser
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 1 And Target.Row < 9 And Target.Column = 2 Then
Target.Offset(, 2) = IIf(Target <> "", "OK", "")
End If
End Sub
En outre, pour éviter le bug en cas de sélection de plage, ajouter en début de procédure
Code:
If Target.Count > 1 Then Exit Sub
A+
kjin
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
646
Réponses
10
Affichages
910
Réponses
6
Affichages
723
J
Réponses
5
Affichages
1 K
P
Réponses
1
Affichages
960
Retour