ecrire le nom du complexe en face du département

Le
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 !
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Corto
Le #19078431
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 !



Jacky
Le #19078291
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" 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 !


isabelle
Le #19078281
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 !



mireille
Le #19079091
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 !
>



Publicité
Poster une réponse
Anonyme