case a cocher et formule SI

cindy75015

XLDnaute Junior
bonjour
dans la cellule E6 se trouve une validation de donnée pour sélectionner un emplacement dans la liste plage B4:B255
j'aimerai que au lieu de sélectionner un emplacement il se mette automatiquement
pour cela j'ai ajouter 2 case a cocher avec cellule liée A(petit emplacement E1 & grand emplacement AE2
dans la colonne A en face de chaque emplacement un repère A ou B spécifiant la hauteur de l'emplacement pour la palette
j'aimerais trouvé en formule ou macro événement
si AE1 renvoie vrai donc case coché pour petit emplacement sélectionner le premier emplacement de la colonne B avec le repère
A a sa gauche et l'afficher dans la cellule E6
si AE2 renvoie vrai donc case coché pour grand emplacement sélectionner le premier emplacement de la colonne B avec le repère
B a sa gauche et l'afficher dans la cellule E6
de ce fait j'aurais la possibilité de choisir l'emplacement en me servant de la liste validation ou emplacement automatique en cochant l'une des deux cases

Cindy
 

Pièces jointes

  • Classeur10.xlsx
    28.1 KB · Affichages: 51
  • Classeur10.xlsx
    28.1 KB · Affichages: 48
  • Classeur10.xlsx
    28.1 KB · Affichages: 59

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : case a cocher et formule SI

Bonjour Cindy,

voir fichier joint
j'ai remplacé les cases à cocher par des optionbutton
de ce fait j'aurais la possibilité de choisir l'emplacement en me servant de la liste validation ou emplacement automatique en cochant l'une des deux cases
la cellule peut contenir une formule ou une liste de validation mais pas les deux à la fois
il sera alors nécessaire de passer par macro


à+
Philippe
 

Pièces jointes

  • 111.xlsx
    28.2 KB · Affichages: 53
  • 111.xlsx
    28.2 KB · Affichages: 56
  • 111.xlsx
    28.2 KB · Affichages: 48
  • 111.xlsm
    34.9 KB · Affichages: 46
  • 111.xlsm
    34.9 KB · Affichages: 49
  • 111.xlsm
    34.9 KB · Affichages: 44
Dernière édition:

Softmama

XLDnaute Accro
Re : case a cocher et formule SI

Bonjour cindy, phlaurent

Une proposition pour ce que j'ai cru comprendre :
Macro à affecter à chacun de tes 2 contrôles.

VB:
Sub case_cochée()
Dim t As Integer
 With Feuil4
  .Range("E6") = ""
  t = Right$(Application.Caller, 1)
  Feuil4.Range("AE" & 3 - t) = False
  If .Range("AE1") + .Range("AE2") <> 0 Then
    .Range("E6") =  .Range(.Range("A4"), .Range("A4").End(xlDown)).Find(what:=IIf(.Range("AE1") = True, "A", "B"), LookIn:=xlValues, lookat:=xlWhole).Offset(, 1)
  End If
 End With
End Sub

Cordialement.
 

Pièces jointes

  • Classeur10.xlsm
    35 KB · Affichages: 55
  • Classeur10.xlsm
    35 KB · Affichages: 56
  • Classeur10.xlsm
    35 KB · Affichages: 47
Dernière édition:

cindy75015

XLDnaute Junior
Re : case a cocher et formule SI

bonjour phlaurent,softmama le fil
merci pour vos solution mais il est vrai que la solution de softmama me convienne le mieux ainsi je conserve le choix de sélectionner un emplacement ou laisser automatique en cochant la case voulu
merci Cindy
 

cindy75015

XLDnaute Junior
Re : case a cocher et formule SI

re
après vérification j'ai remarqué un problème la macro pour attribuer les emplacement fonctionne bien
par contre j'ai une autre macro qui me fait l'entrée en stock et me supprime l'emplacement de ma liste des emplacement libre colonne B,j'ai une autre macro qui elle me fait la sortie de stock de la palette et me replace l'emplacement dans la colonne B
le problème c'est que lorsque l'emplacement se remet en colonne B le numéro repère de la colonne ne correspond plus

code pour attribuer les emplacement case a cocher:
Sub case_cochée()
Dim t As Integer
With Feuil4
.Range("E6") = ""
t = Right$(Application.Caller, 1)
Feuil4.Range("AE" & 3 - t) = False
If .Range("AE1") + .Range("AE2") <> 0 Then
.Range("E6") = .Range(.Range("A4"), .Range("A4").End(xlDown)).Find(what:=IIf(.Range("AE1") = True, "A", "B"), LookIn:=xlValues, lookat:=xlWhole).Offset(, 1)
End If
End With
End Sub

code qui me fait entrée en stock et supprimer l'emplacement(je ne met que la partie concernant la suppression de l'emplacement)
Sub Entrée()
Application.ScreenUpdating = False


'mise a jour emplacement entrée
Dim i&, F As Range, Targe As Range
Application.ScreenUpdating = False
Set Targe = Range("$E$6")
If Targe <> "" Then
Cells(Rows.Count, 3).End(3)(2).Value = Targe
Set F = ActiveSheet.Columns(2).Find(Targe, , xlValues, xlWhole)
F.Delete shift:=xlUp
If [Dispo].Count > 1 Then [Dispo].Sort [Dispo], xlAscending, Header:=xlNo
If [Loue].Count > 1 Then [Loue].Sort [Loue], xlAscending, Header:=xlNo
Targe = ""
End If

Application.ScreenUpdating = True


End Sub


code qui me fait la sortie palette et me réintégré l'emplacement

Sub Sortie()
'
'
'

'

'mise a jour emplacement sortie(je ne met que la partie concernant la reintegration de l'emplacement)
Sheets("Sortie de stock").Select
Dim i&, F As Range, Targe As Range
Application.ScreenUpdating = False
Set Targe = Range("$B$9")
If Targe <> "" Then
With Sheets("Entrée en stock")
.Cells(Rows.Count, 2).End(3)(2).Value = Targe
Set F = .Columns(3).Find(Targe, , xlValues, xlWhole)
F.Delete shift:=xlUp
Sheets("Entrée en stock").Select
If .[Dispo].Count > 1 Then .[Dispo].Sort .[Dispo], xlAscending, Header:=xlNo
If .[Loue].Count > 1 Then .[Loue].Sort .[Loue], xlAscending, Header:=xlNo
Targe = ""
End With


End Sub

que dois je modifier pour que le numéro repère soit toujours attaché avec l'emplacement
Cindy
 

cindy75015

XLDnaute Junior
Re : case a cocher et formule SI

re
j'ai copier tous les emplacement et les repère en colonne AA et AC
il me faudrait une fonction en colonne A qui m'inscrit le numéro repère de la colonne B (recherche ce numéro dans la colonne AC)
Cindy

quel serait cette fonction
 

Pièces jointes

  • Classeur11.xlsm
    33.8 KB · Affichages: 43
  • Classeur11.xlsm
    33.8 KB · Affichages: 42
  • Classeur11.xlsm
    33.8 KB · Affichages: 40

cindy75015

XLDnaute Junior
Re : case a cocher et formule SI

bonsoir je remet un fichier plus clair avec explication plus simple car je m'embrouiller avec tous ces code
voila plus simple
colonne B liste emplacement disponible se met a jour a l'activation de la page et se trie
colonne C liste emplacement occupé se met a jour a l'activation de la page et se trie
colonne AA & AC 2 colonne sauvegarder sur la feuille tous les emplacements et tous les numéro repère
mon but :
inscrire par fonction dans la colonne A le numéro repère de l'emplacement de la colonne B rechercher ce numéro dans la colonne AC

Cindy

ps actuellement dans la colonne A le numéro se met par recherche v mais ça ne convient pas
 

Pièces jointes

  • Classeur11.xlsm
    31.7 KB · Affichages: 68
  • Classeur11.xlsm
    31.7 KB · Affichages: 63
  • Classeur11.xlsm
    31.7 KB · Affichages: 49

job75

XLDnaute Barbatruc
Re : case a cocher et formule SI

Bonjour cindy75015, le fil,

Pas suivi mais vous auriez pu avoir l'idée de mettre un petit zéro dans la formule en colonne A :

Code:
=RECHERCHEV($B4;$AA$4:$AC$256;3;0)
Edit : salut Philippe, je ne t'ai pas vu.

A+
 

cindy75015

XLDnaute Junior
Re : case a cocher et formule SI

bon ph laurent ,job75
cette solution =RECHERCHEV($B4;$AA$4:$AC$256;3;0) ne fonctionne qu'a moitié car
l'emplacement de le colonne B se supprime lorsque je fais l'entrer en stock de la palette et reviens quand je fais la sortie du stock de la palette
hors quand je rentre la palette en stock ma formule
=RECHERCHEV($B6;$AA$4:$AC$256;3;0)
se transforme en
=RECHERCHEV(#REF!;$AA$4:$AC$256;3;0)
il faudrait donc une autre formule
je pensais plus a une fonction comme
si B1 est vide alors A1 ne rien afficher et si B1 est contenu dans la la plage AA4:AA255 alors afficher le numéro correspondant qui se trouve dans la colonne Ac
je ne suis pas spécialiste mais je penserais plus a cette formule
est elle réalisable ou y a t il une autre solution


il y aurait aussi une macro declencher a chaque calcul de la feuille qui remet la fonction =RECHERCHEV(#REF!;$AA$4:$AC$256;3;0) sur la plage A4:A255

je fais appel a vos connaissance pour trouver la meilleur solution qui fonctionne bien sur
merci Cindy
 

cindy75015

XLDnaute Junior
Re : case a cocher et formule SI

bonsoir n'ayant pas de réponse a mon problème
pour le contourné peut on faire une macro pour insérer ceci

Range("A4:A255").Select
ActiveCell.FormulaR1C1 = "=RECHERCHEV($B4;$AA$4:$AC$256;3;0)"

a chaque ligne changer le chiffre pour la ligne
Cindy
 

Discussions similaires

Réponses
8
Affichages
555

Statistiques des forums

Discussions
313 283
Messages
2 096 813
Membres
106 752
dernier inscrit
Tahiri1976