Sélectionné la colonne C dans le cas ou les colonne E et F sont vide...

dearmilady18

XLDnaute Nouveau
Bonjour à tous,

Je vous expose le problème. Je cherche une formule qui ira chercher la bonne donnée dans la bonne colonne d'une base de donnée.

Je vous joint le fichier brouillon pour expliquer.

Voici ce dont j'ai besoin; j'aimerais que dans la colonne C de la feuil1 apparaisse le numéro d'assignation de mes conducteurs. Dans la feuil2, si les colonnes E et F sont vide, elle sélectionnera automatiquement la colonne C. S'il y a quelque chose dans la colonne E, et rien dans la colonne F, elle sélectionnera la colonne E. S'il y a quelque chose dans les 3 colonnes, elle sélectionnera automatiquement la colonne F.

Merci d'avance, ça m'embête, je me creuse la tête mais rien n'y fait. :(
 

Pièces jointes

  • FORMULE ASSIGNATION.xlsx
    9.4 KB · Affichages: 45

ROGER2327

XLDnaute Barbatruc
Re : Sélectionné la colonne C dans le cas ou les colonne E et F sont vide...

Bonsoir dearmilady18


En C2 :
Code:
=INDEX(Feuil2!$A$2:$F$7;EQUIV(Feuil2!A2;Feuil1!$A$2:$A$7;0);MAX((INDEX(Feuil2!$C$2:$C$7;EQUIV(Feuil2!A2;Feuil1!$A$2:$A$7;0))<>"")*COLONNE(Feuil2!C:C);(INDEX(Feuil2!$E$2:$E$7;EQUIV(Feuil2!A2;Feuil1!$A$2:$A$7;0))<>"")*COLONNE(Feuil2!E:E);(INDEX(Feuil2!$F$2:$F$7;EQUIV(Feuil2!A2;Feuil1!$A$2:$A$7;0))<>"")*COLONNE(Feuil2!F:F)))
(à recopier vers le bas)​


ROGER2327
#5712


Samedi 7 Clinamen 139 (La Main de Gloire - Vacuation)
9 Germinal An CCXX, 8,5770h - aulne
2012-W13-4T20:35:05Z
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Sélectionné la colonne C dans le cas ou les colonne E et F sont vide...

Bonsoir Derrmilady, bonsoir le forum,

Par formule je ne sais pas faire... Je te propose une solution VBA avec le code ci-dessous appliqué au CommandButton1 (Assignement) :
Code:
Private Sub CommandButton1_Click() 'bouton "Assignation"
Dim o1 As Object 'déclare la variable o1 (Onglet 1)
Dim o2 As Object 'déclare la variable o2 (Onglet 2)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim r As Range 'déclare la varaible r (Recherche)

ActiveCell.Select 'enlève le focue au bouton
Set o1 = Sheets("Feuil1") 'définit l'onglet o1
Set o2 = Sheets("Feuil2") 'définit l'onglet o2
'boucle sur toutes les cellules cel de la plage B2:B... de l'onglet o1
For Each cel In o1.Range("B2:B" & o1.Cells(Application.Rows.Count, 2).End(xlUp).Row)
    Set r = o2.Columns(2).Find(cel.Value, , xlValues, xlWhole) 'définit la recherche r
    If Not r Is Nothing Then 'condition : si il existe au moins une occurrence trouvée
        'si les colonnes E et F de la ligne de l'occurrence trouvée sont vide, récupère la valeur de la colonne C
        If r.Offset(0, 3).Value = "" And r.Offset(0, 4) = "" Then cel.Offset(0, 1).Value = r.Offset(0, 1).Value
        'si la colonne E n'est pas vide et la colonne F de est vide, récupère la valeur de la colonne E
        If r.Offset(0, 3).Value <> "" And r.Offset(0, 4) = "" Then cel.Offset(0, 1).Value = r.Offset(0, 3).Value
        'si les colonnes C, E et f ne sont pas vides, récupère la valeur de la colonne C
        If r.Offset(0, 1).Value <> "" And r.Offset(0, 3).Value <> "" And r.Offset(0, 4).Value <> "" Then _
            cel.Offset(0, 1).Value = r.Offset(0, 1).Value
    End If 'fin de la condition
Next cel 'prochaine cellule cel de la boucle
End Sub
Le fichier :

[Édition]
Bonsoir Roger, nous nous sommes croisés...
 

Pièces jointes

  • DearMilady_v01.xls
    42 KB · Affichages: 35

Discussions similaires

J
Réponses
39
Affichages
3 K
J

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote