Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

ecrire le nom du complexe en face du département

4 réponses
Avatar
mireille
Bonjour à tous,

J'ai besoin d'affecter à chaque département le nom du complexe auquel il
appartient.
Chaque département appartient à un et un seul complexe. Chaque complexe
contient plusieurs départements

Une feuille contient un tableau avec complexe et département.
La feuille Calculs est celle dans laquelle je dois rajouter le complexe.
Le fichier est ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj200904/cijY3bPeae.xls

Je ne sais pas faire cela en VBA (en langage SAS oui).
Merci pour votre aide !

4 réponses

Avatar
Corto
Bonjour mireille,
Solution sans VBA :
=INDEX('Complexes and Dpts'!$A$2:$A$41;EQUIV(Calculs!B3;'Complexes and
Dpts'!$B$2:$B$41;0))
ou pour éviter les #N/A quand le département n'existe pas :
=SI(ESTNA(EQUIV(Calculs!B3;'Complexes and
Dpts'!$B$2:$B$41;0));"-";INDEX('Complexes and
Dpts'!$A$2:$A$41;EQUIV(Calculs!B3;'Complexes and Dpts'!$B$2:$B$41;0)))

Solution VBA :
Sub TrouverLeComplexe()
For Each XXX In [Calculs!B2:B30].Cells
Set XFIND = ['Complexes and Dpts'!B2:B41].Find(What:=XXX,
LookAt:=xlWhole, _
LookIn:=xlValues)
If Not XFIND Is Nothing Then XXX.Offset(0, -1) = XFIND.Offset(0 , -1)
Next XXX
End Sub

Je t'ai mis le fichier modifié sur Cjoint : http://cjoint.com/?ekdlG SBdYm

Corto

mireille a écrit :
Bonjour à tous,

J'ai besoin d'affecter à chaque département le nom du complex e auquel il
appartient.
Chaque département appartient à un et un seul complexe. Chaqu e complexe
contient plusieurs départements

Une feuille contient un tableau avec complexe et département.
La feuille Calculs est celle dans laquelle je dois rajouter le complexe .
Le fichier est ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj200904/cijY3bPeae.xls

Je ne sais pas faire cela en VBA (en langage SAS oui).
Merci pour votre aide !



Avatar
Jacky
Bonjour,
Avec 2 plages nommées dynamiquement et une validation de données pour les
departements

En a2 et tirer vers le bas
=SI(ESTNA(EQUIV(B2;departe;0));"depart.
Inconnu";INDEX(complex;EQUIV(B2;departe;0)))

Le fichier modifié
http://www.cijoint.fr/cjlink.php?file=cj200904/cijzcApG0m.xls
Ps: attention, il y a des espaces après le nom de quelques départements
--
Salutations
JJ


"mireille" a écrit dans le message de
news:
Bonjour à tous,

J'ai besoin d'affecter à chaque département le nom du complexe auquel il
appartient.
Chaque département appartient à un et un seul complexe. Chaque complexe
contient plusieurs départements

Une feuille contient un tableau avec complexe et département.
La feuille Calculs est celle dans laquelle je dois rajouter le complexe.
Le fichier est ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj200904/cijY3bPeae.xls

Je ne sais pas faire cela en VBA (en langage SAS oui).
Merci pour votre aide !


Avatar
isabelle
bonjour Mireille,

en cellule A2 :
=INDEX('Complexes and Dpts'!A:A;EQUIV(B2;'Complexes and Dpts'!B:B;0))
à recopier vers le bas

ou bien :

For i = 2 To 30
Range("A" & i).Formula = _
"=INDEX('Complexes and Dpts'!A:A,MATCH(B" & i & ",'Complexes and
Dpts'!B:B,0))"
Next

ou bien :

For i = 2 To 30
If Not IsError(Application.Match(Range("B" & i), Sheets("Complexes and
Dpts").Range("B:B"), 0)) Then
Range("A" & i) = _
Application.Index(Sheets("Complexes and Dpts").Range("A:A"), _
(Application.Match(Range("B" & i), Sheets("Complexes and
Dpts").Range("B:B"), 0)))
End If
Next

isabelle

mireille a écrit :
Bonjour à tous,

J'ai besoin d'affecter à chaque département le nom du complexe auquel il
appartient.
Chaque département appartient à un et un seul complexe. Chaque complexe
contient plusieurs départements

Une feuille contient un tableau avec complexe et département.
La feuille Calculs est celle dans laquelle je dois rajouter le complexe.
Le fichier est ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj200904/cijY3bPeae.xls

Je ne sais pas faire cela en VBA (en langage SAS oui).
Merci pour votre aide !



Avatar
mireille
Un grand merci à vous tous.
J'ai pris la première solution, celle de Corto en VBA.
Merci encore

"Corto" a écrit :

Bonjour mireille,
Solution sans VBA :
=INDEX('Complexes and Dpts'!$A$2:$A$41;EQUIV(Calculs!B3;'Complexes and
Dpts'!$B$2:$B$41;0))
ou pour éviter les #N/A quand le département n'existe pas :
=SI(ESTNA(EQUIV(Calculs!B3;'Complexes and
Dpts'!$B$2:$B$41;0));"-";INDEX('Complexes and
Dpts'!$A$2:$A$41;EQUIV(Calculs!B3;'Complexes and Dpts'!$B$2:$B$41;0)))

Solution VBA :
Sub TrouverLeComplexe()
For Each XXX In [Calculs!B2:B30].Cells
Set XFIND = ['Complexes and Dpts'!B2:B41].Find(What:=XXX,
LookAt:=xlWhole, _
LookIn:=xlValues)
If Not XFIND Is Nothing Then XXX.Offset(0, -1) = XFIND.Offset(0, -1)
Next XXX
End Sub

Je t'ai mis le fichier modifié sur Cjoint : http://cjoint.com/?ekdlGSBdYm

Corto

mireille a écrit :
> Bonjour à tous,
>
> J'ai besoin d'affecter à chaque département le nom du complexe auquel il
> appartient.
> Chaque département appartient à un et un seul complexe. Chaque complexe
> contient plusieurs départements
>
> Une feuille contient un tableau avec complexe et département.
> La feuille Calculs est celle dans laquelle je dois rajouter le complexe.
> Le fichier est ci-joint :
> http://www.cijoint.fr/cjlink.php?file=cj200904/cijY3bPeae.xls
>
> Je ne sais pas faire cela en VBA (en langage SAS oui).
> Merci pour votre aide !
>