OVH Cloud OVH Cloud

=NB.SI(INDIRECT.EXT("'C:test....A1:A2000;"pommes")

7 réponses
Avatar
ruiz
Bonjour,
je voudrais pouvoir utiliser nb.si qui se refère à un autre classeur mais je
n'y arrive pas...

f1=rfma
f2=Feuil1
B2=NB.SI(INDIRECT.EXT("'C:\Documents and Settings\r\Mes
Documents\Stats\resultat\["&F1&"]"&F2&"'!a1:a2000;"pommes"")

cette formule marche avec SOMME et sans critère..
il semblerait que ce n'est pas le cas pour nb.si

merci de votre aide..

7 réponses

Avatar
JB
Bonjour,

Remplacer le NB.Si() par SommeProd()

=SOMMEPROD(('C:mesdocexcel_macro_nouveau401exemples[Fruits.xls]Feuil1 '!$B$2:$B$10="pommes")*1)

ou si le champ B2:B10 est nommé:

=SOMMEPROD(('C:mesdocexcel_macro_nouveau401exemplesFruits.xls'!Fruits ="pommes")*1)

Cordialement JB
Avatar
Mousnynao
Bonjour,

B2=NB.SI(INDIRECT.EXT("'C:Documents and SettingsrMes
DocumentsStatsresultat["&F1&"]"&F2&"'!a1:a2000;"pommes"")

j'utilise plutôt :

B2=NB.SI(INDIRECT.EXT("C:Documents and SettingsrMes
DocumentsStatsresultat[" & F1 & "]" & F2 & "!a1:a2000;" & """" & "pommes"
& """" & ")"



mousnynao


Bonjour,
je voudrais pouvoir utiliser nb.si qui se refère à un autre classeur mais je
n'y arrive pas...

f1=rfma
f2þuil1
B2=NB.SI(INDIRECT.EXT("'C:Documents and SettingsrMes
DocumentsStatsresultat["&F1&"]"&F2&"'!a1:a2000;"pommes"")

cette formule marche avec SOMME et sans critère..
il semblerait que ce n'est pas le cas pour nb.si

merci de votre aide..


Avatar
ruiz
ça marche inpect !
juste une question en passant...si je veux comparer 2 colonnes de 2
classeurs differents et mettre le resultat dans un 3eme classeur ?
comme ceux-ci :
ColA-ClasseurA ColA-classeurB
Alain souchon Dalida
Serge Gainsbourg Alain souchon
Lio mylène farmer
Dalida Rolling stones
j'ai besoin de comparer les 2 colonnes et d'extraire vers un Classeur C
quels/combien sont les noveautés dans le classeur B par rapport au classeur A
et quesl/combien sont ceux qui se répètent...

je sais pas si c'est très clair..
merci,
ruiz.



Bonjour,

Remplacer le NB.Si() par SommeProd()

=SOMMEPROD(('C:mesdocexcel_macro_nouveau401exemples[Fruits.xls]Feuil1'!$B$2:$B$10="pommes")*1)

ou si le champ B2:B10 est nommé:

=SOMMEPROD(('C:mesdocexcel_macro_nouveau401exemplesFruits.xls'!Fruits="pommes")*1)

Cordialement JB




Avatar
JB
Des éléments de réponse:

PJ http://cjoint.com/?bluAEGcz01

Sub CopieDoublons()
Sheets("bd2").Select
Range("A2").Select
ligne = 2
Do While ActiveCell <> ""
If Not IsError(Application.Match(ActiveCell, Range("nom1"), 0)) Then
Sheets("résult").Cells(ligne, 1) = ActiveCell
ligne = ligne + 1
End If
ActiveCell.Offset(1, 0).Select
Loop
End Sub

Sub CopieNews()
Sheets("bd2").Select
Range("a2").Select
ligne = 2
Do While ActiveCell <> ""
If IsError(Application.Match(ActiveCell, Range("nom1"), 0)) Then
Sheets("résult").Cells(ligne, 3) = ActiveCell
ligne = ligne + 1
End If
ActiveCell.Offset(1, 0).Select
Loop
End Sub

Cordialement JB
Avatar
ruiz
merci de votre disponibilité.
d'après votre réponse, il faut que tout soit dans le même classeur ?


Des éléments de réponse:

PJ http://cjoint.com/?bluAEGcz01

Sub CopieDoublons()
Sheets("bd2").Select
Range("A2").Select
ligne = 2
Do While ActiveCell <> ""
If Not IsError(Application.Match(ActiveCell, Range("nom1"), 0)) Then
Sheets("résult").Cells(ligne, 1) = ActiveCell
ligne = ligne + 1
End If
ActiveCell.Offset(1, 0).Select
Loop
End Sub

Sub CopieNews()
Sheets("bd2").Select
Range("a2").Select
ligne = 2
Do While ActiveCell <> ""
If IsError(Application.Match(ActiveCell, Range("nom1"), 0)) Then
Sheets("résult").Cells(ligne, 3) = ActiveCell
ligne = ligne + 1
End If
ActiveCell.Offset(1, 0).Select
Loop
End Sub

Cordialement JB




Avatar
JB
Demain, je vous enverrais la version 3 classeurs

JB
Avatar
JB
Voici la version classeurs en PJ: http://cjoint.com/?bmfVWNyfVM

Copie les doublons de DoublonsSpéciaux2.xls/DoublonsSpéciaux1.xls
dans un classeur DoublonsSpéciaux3.xls

Sub CopieDoublons()
ChDir ActiveWorkbook.Path
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Workbooks.Open Filename:="DoublonsSpéciaux1.xls"
Workbooks.Open Filename:="DoublonsSpéciaux3.xls"
Windows("DoublonsSpéciaux2.xls").Activate
Sheets("bd2").Select
Range("A2").Select
ligne = 2
Do While ActiveCell <> ""
If Not IsError(Application.Match(ActiveCell, _
Workbooks("DoublonsSpéciaux1.xls").Sheets("bd1").Range("nom1"), 0))
Then
Workbooks("DoublonsSpéciaux3.xls").Sheets("résult").Cells(ligne,
1) = ActiveCell
ligne = ligne + 1
End If
ActiveCell.Offset(1, 0).Select
Loop
Workbooks("DoublonsSpéciaux3.xls").Save
End Sub

Copie les nouveaux de DoublonsSpéciaux2.xls/DoublonsSpéciaux1.xls
dans un classeur DoublonsSpéciaux3.xls

Sub CopieNews()
ChDir ActiveWorkbook.Path
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Workbooks.Open Filename:="DoublonsSpéciaux1.xls"
Workbooks.Open Filename:="DoublonsSpéciaux3.xls"
Windows("DoublonsSpéciaux2.xls").Activate
Sheets("bd2").Select
Range("a2").Select
ligne = 2
Do While ActiveCell <> ""
If IsError(Application.Match(ActiveCell, _
Workbooks("DoublonsSpéciaux1.xls").Sheets("bd1").Range("nom1"),
0)) Then
Workbooks("DoublonsSpéciaux3.xls").Sheets("résult").Cells(ligne,
3) = ActiveCell
ligne = ligne + 1
End If
ActiveCell.Offset(1, 0).Select
Loop
Workbooks("DoublonsSpéciaux3.xls").Save
End Sub

JB