incrementer une cellule en fonction du contenu d'une autre cellule
7 réponses
no-comment
Bonjour,
Je souhaite incrémenter une cellule dans la feuille 2 en fonction de la valeur d'une cellule de la feuille 1 :
Pour chaque ligne de la feuille 1, je veux tester la valeur de la colonne A. Si la valeur de la cellule A est "Activite 1", alors je veux tester la valeur de la cellule C de la même ligne. Si le texte de cette cellule est "OUI", alors je veux ajouter 1 dans la cellule B6 de la feuille 2.
Je souhaite incrémenter une cellule dans la feuille 2 en fonction de la valeur d'une cellule de la feuille 1 :
Pour chaque ligne de la feuille 1, je veux tester la valeur de la colonne A. Si la valeur de la cellule A est "Activite 1", alors je veux tester la valeur de la cellule C de la même ligne. Si le texte de cette cellule est "OUI", alors je veux ajouter 1 dans la cellule B6 de la feuille 2.
Merci d'avance pour votre aide.
Cordialement,
bonjour,
je pense que la fonction nb.si.ens peut résoudre votre problème.
Je souhaite incrémenter une cellule dans la feuille 2 en fonction de la valeur
d'une cellule de la feuille 1 :
Pour chaque ligne de la feuille 1, je veux tester la valeur de la colonne A. Si
la valeur de la cellule A est "Activite 1", alors je veux tester la valeur de la
cellule C de la même ligne. Si le texte de cette cellule est "OUI", alors je
veux ajouter 1 dans la cellule B6 de la feuille 2.
Je souhaite incrémenter une cellule dans la feuille 2 en fonction de la valeur d'une cellule de la feuille 1 :
Pour chaque ligne de la feuille 1, je veux tester la valeur de la colonne A. Si la valeur de la cellule A est "Activite 1", alors je veux tester la valeur de la cellule C de la même ligne. Si le texte de cette cellule est "OUI", alors je veux ajouter 1 dans la cellule B6 de la feuille 2.
Merci d'avance pour votre aide.
Cordialement,
Caetera
> Je souhaite incrémenter une cellule dans la feuille 2 en fonction de la valeur d'une cellule de la feuille 1 :
Pour chaque ligne de la feuille 1, je veux tester la valeur de la colonne A. Si la valeur de la cellule A est "Activite 1", alors je veux tester la valeur de la cellule C de la même ligne. Si le texte de cette cellule est "OUI", alors je veux ajouter 1 dans la cellule B6 de la feuille 2.
En B6 de Feuil2 : =SOMMEPROD((Feuil1!A1:A30="Activité 1")*(Feuil1!C1:C30="OUI"))
Etc
> Je souhaite incrémenter une cellule dans la feuille 2 en fonction de la valeur
d'une cellule de la feuille 1 :
Pour chaque ligne de la feuille 1, je veux tester la valeur de la colonne A.
Si
la valeur de la cellule A est "Activite 1", alors je veux tester la valeur de
la
cellule C de la même ligne. Si le texte de cette cellule est "OUI", alors je
veux ajouter 1 dans la cellule B6 de la feuille 2.
En B6 de Feuil2 :
=SOMMEPROD((Feuil1!A1:A30="Activité 1")*(Feuil1!C1:C30="OUI"))
> Je souhaite incrémenter une cellule dans la feuille 2 en fonction de la valeur d'une cellule de la feuille 1 :
Pour chaque ligne de la feuille 1, je veux tester la valeur de la colonne A. Si la valeur de la cellule A est "Activite 1", alors je veux tester la valeur de la cellule C de la même ligne. Si le texte de cette cellule est "OUI", alors je veux ajouter 1 dans la cellule B6 de la feuille 2.
En B6 de Feuil2 : =SOMMEPROD((Feuil1!A1:A30="Activité 1")*(Feuil1!C1:C30="OUI"))
Etc
no-comment
Jordane a écrit le 16/02/2009 à 13h43 :
bonjour, je pense que la fonction nb.si.ens peut résoudre votre problème.
Je souhaite incrémenter une cellule dans la feuille 2 en fonction de la valeur d'une cellule de la feuille 1 :
Pour chaque ligne de la feuille 1, je veux tester la valeur de la colonne A. Si la valeur de la cellule A est "Activite 1", alors je veux tester la valeur de la cellule C de la même ligne. Si le texte de cette cellule est "OUI", alors je veux ajouter 1 dans la cellule B6 de la feuille 2.
Merci d'avance pour votre aide.
Cordialement,
Effectivement...
Le problème est que j'ai un tableu de 1000 lignes environ, avec une vingtaine d'activités différentes. Et je souhaite surtout ne pas avoir à changer la formule si une ligne est ajoutée pour une des activités voire qu'une énième activité est ajoutée...
Je pensais à un code du type :
Sub Dim c As Integer For i=2 to 2000 If Cell.Value = "Activite 1" Then Cells(i,3).activate If ActiveCell.value = "oui" Then Feuil2.activate Cells(6,2).select c=c+1 Next
End Sub
Mais ca marche pas :( (en même temps je suis pas forcément douée...) (Et ensuite dupliquer le code pour chaque activité)
Jordane a écrit le 16/02/2009 à 13h43 :
bonjour,
je pense que la fonction nb.si.ens peut résoudre votre problème.
Je souhaite incrémenter une cellule dans la feuille 2 en fonction de la
valeur
d'une cellule de la feuille 1 :
Pour chaque ligne de la feuille 1, je veux tester la valeur de la colonne A.
Si
la valeur de la cellule A est "Activite 1", alors je veux tester la
valeur de la
cellule C de la même ligne. Si le texte de cette cellule est
"OUI", alors je
veux ajouter 1 dans la cellule B6 de la feuille 2.
Merci d'avance pour votre aide.
Cordialement,
Effectivement...
Le problème est que j'ai un tableu de 1000 lignes environ, avec une vingtaine d'activités différentes. Et je souhaite surtout ne pas avoir à changer la formule si une ligne est ajoutée pour une des activités voire qu'une énième activité est ajoutée...
Je pensais à un code du type :
Sub
Dim c As Integer
For i=2 to 2000
If Cell.Value = "Activite 1" Then Cells(i,3).activate
If ActiveCell.value = "oui" Then Feuil2.activate
Cells(6,2).select
c=c+1
Next
End Sub
Mais ca marche pas :( (en même temps je suis pas forcément douée...)
(Et ensuite dupliquer le code pour chaque activité)
Je souhaite incrémenter une cellule dans la feuille 2 en fonction de la valeur d'une cellule de la feuille 1 :
Pour chaque ligne de la feuille 1, je veux tester la valeur de la colonne A. Si la valeur de la cellule A est "Activite 1", alors je veux tester la valeur de la cellule C de la même ligne. Si le texte de cette cellule est "OUI", alors je veux ajouter 1 dans la cellule B6 de la feuille 2.
Merci d'avance pour votre aide.
Cordialement,
Effectivement...
Le problème est que j'ai un tableu de 1000 lignes environ, avec une vingtaine d'activités différentes. Et je souhaite surtout ne pas avoir à changer la formule si une ligne est ajoutée pour une des activités voire qu'une énième activité est ajoutée...
Je pensais à un code du type :
Sub Dim c As Integer For i=2 to 2000 If Cell.Value = "Activite 1" Then Cells(i,3).activate If ActiveCell.value = "oui" Then Feuil2.activate Cells(6,2).select c=c+1 Next
End Sub
Mais ca marche pas :( (en même temps je suis pas forcément douée...) (Et ensuite dupliquer le code pour chaque activité)
ChristianM
Bonjour, Avec des données en A1:A13 et C1:C13 et le nom de l'activité en A6 de la feuille 2 Feuille 1 nommée "Données" Feuille 2 nommée "Synthèse"
Si tu change le nom de l'activité en A6, le résultat change !
Je souhaite incrémenter une cellule dans la feuille 2 en fonction de la valeur d'une cellule de la feuille 1 :
Pour chaque ligne de la feuille 1, je veux tester la valeur de la colonne A. Si la valeur de la cellule A est "Activite 1", alors je veux tester la valeur de la cellule C de la même ligne. Si le texte de cette cellule est "OUI", alors je veux ajouter 1 dans la cellule B6 de la feuille 2.
Merci d'avance pour votre aide.
Cordialement,
Bonjour,
Avec des données en A1:A13 et C1:C13
et le nom de l'activité en A6 de la feuille 2
Feuille 1 nommée "Données"
Feuille 2 nommée "Synthèse"
Si tu change le nom de l'activité en A6, le résultat change !
"no-comment" <no-comment@domain-xyz.in> a écrit dans le message de news:
hoydneq46YTqyQTU4p2dnAA@giganews.com...
Bonjour,
Je souhaite incrémenter une cellule dans la feuille 2 en fonction de la
valeur
d'une cellule de la feuille 1 :
Pour chaque ligne de la feuille 1, je veux tester la valeur de la colonne
A. Si
la valeur de la cellule A est "Activite 1", alors je veux tester la valeur
de la
cellule C de la même ligne. Si le texte de cette cellule est "OUI", alors
je
veux ajouter 1 dans la cellule B6 de la feuille 2.
Je souhaite incrémenter une cellule dans la feuille 2 en fonction de la valeur d'une cellule de la feuille 1 :
Pour chaque ligne de la feuille 1, je veux tester la valeur de la colonne A. Si la valeur de la cellule A est "Activite 1", alors je veux tester la valeur de la cellule C de la même ligne. Si le texte de cette cellule est "OUI", alors je veux ajouter 1 dans la cellule B6 de la feuille 2.
Merci d'avance pour votre aide.
Cordialement,
Jordane
pour calculer une plage de façon dynamique il faut utiliser les fonction decaler et nbval.
Jordane a écrit le 16/02/2009 à 13h43 : > bonjour, > je pense que la fonction nb.si.ens peut résoudre votre problème. > > exemple: > =NB.SI.ENS(A1:A5;"¬tivite 1";C1:C5;"=oui") > > > > -- > Cordialement, > > Jordane > > > "no-comment" a écrit : > >> Bonjour, >> >> Je souhaite incrémenter une cellule dans la feuille 2 en fonction de la >> valeur >> d'une cellule de la feuille 1 : >> >> Pour chaque ligne de la feuille 1, je veux tester la valeur de la colonne A. >> Si >> la valeur de la cellule A est "Activite 1", alors je veux tester la >> valeur de la >> cellule C de la même ligne. Si le texte de cette cellule est >> "OUI", alors je >> veux ajouter 1 dans la cellule B6 de la feuille 2. >> >> Merci d'avance pour votre aide. >> >> Cordialement, >> >> Effectivement...
Le problème est que j'ai un tableu de 1000 lignes environ, avec une vingtaine d'activités différentes. Et je souhaite surtout ne pas avoir à changer la formule si une ligne est ajoutée pour une des activités voire qu'une énième activité est ajoutée...
Je pensais à un code du type :
Sub Dim c As Integer For i=2 to 2000 If Cell.Value = "Activite 1" Then Cells(i,3).activate If ActiveCell.value = "oui" Then Feuil2.activate Cells(6,2).select c=c+1 Next
End Sub
Mais ca marche pas :( (en même temps je suis pas forcément douée...) (Et ensuite dupliquer le code pour chaque activité)
pour calculer une plage de façon dynamique il faut utiliser les fonction
decaler et nbval.
Jordane a écrit le 16/02/2009 à 13h43 :
> bonjour,
> je pense que la fonction nb.si.ens peut résoudre votre problème.
>
> exemple:
> =NB.SI.ENS(A1:A5;"¬tivite 1";C1:C5;"=oui")
>
>
>
> --
> Cordialement,
>
> Jordane
>
>
> "no-comment" a écrit :
>
>> Bonjour,
>>
>> Je souhaite incrémenter une cellule dans la feuille 2 en fonction de la
>> valeur
>> d'une cellule de la feuille 1 :
>>
>> Pour chaque ligne de la feuille 1, je veux tester la valeur de la colonne
A.
>> Si
>> la valeur de la cellule A est "Activite 1", alors je veux tester la
>> valeur de la
>> cellule C de la même ligne. Si le texte de cette cellule est
>> "OUI", alors je
>> veux ajouter 1 dans la cellule B6 de la feuille 2.
>>
>> Merci d'avance pour votre aide.
>>
>> Cordialement,
>>
>>
Effectivement...
Le problème est que j'ai un tableu de 1000 lignes environ, avec une vingtaine
d'activités différentes. Et je souhaite surtout ne pas avoir à changer la
formule si une ligne est ajoutée pour une des activités voire qu'une énième
activité est ajoutée...
Je pensais à un code du type :
Sub
Dim c As Integer
For i=2 to 2000
If Cell.Value = "Activite 1" Then Cells(i,3).activate
If ActiveCell.value = "oui" Then Feuil2.activate
Cells(6,2).select
c=c+1
Next
End Sub
Mais ca marche pas :( (en même temps je suis pas forcément douée...)
(Et ensuite dupliquer le code pour chaque activité)
Jordane a écrit le 16/02/2009 à 13h43 : > bonjour, > je pense que la fonction nb.si.ens peut résoudre votre problème. > > exemple: > =NB.SI.ENS(A1:A5;"¬tivite 1";C1:C5;"=oui") > > > > -- > Cordialement, > > Jordane > > > "no-comment" a écrit : > >> Bonjour, >> >> Je souhaite incrémenter une cellule dans la feuille 2 en fonction de la >> valeur >> d'une cellule de la feuille 1 : >> >> Pour chaque ligne de la feuille 1, je veux tester la valeur de la colonne A. >> Si >> la valeur de la cellule A est "Activite 1", alors je veux tester la >> valeur de la >> cellule C de la même ligne. Si le texte de cette cellule est >> "OUI", alors je >> veux ajouter 1 dans la cellule B6 de la feuille 2. >> >> Merci d'avance pour votre aide. >> >> Cordialement, >> >> Effectivement...
Le problème est que j'ai un tableu de 1000 lignes environ, avec une vingtaine d'activités différentes. Et je souhaite surtout ne pas avoir à changer la formule si une ligne est ajoutée pour une des activités voire qu'une énième activité est ajoutée...
Je pensais à un code du type :
Sub Dim c As Integer For i=2 to 2000 If Cell.Value = "Activite 1" Then Cells(i,3).activate If ActiveCell.value = "oui" Then Feuil2.activate Cells(6,2).select c=c+1 Next
End Sub
Mais ca marche pas :( (en même temps je suis pas forcément douée...) (Et ensuite dupliquer le code pour chaque activité)
Jordane
pardon je n'avais pas lu la fin de votre question:
Par macro je procederai ainsi:
Sub toto() Dim nbl As Integer ' variable pour le nombre de lignes dans le tableau nbl = Sheets(1).UsedRange.Rows.Count ' boucle + test sur les valeurs du tableau For i = 1 To nbl If Sheets(1).Cells(i, "A").Value = "activite 1" And Sheets(1).Cells(i, "G").Value = "oui" Then c = c + 1 ' incrémentation de la variable End If Next 'ecriture de la variable dans la feuille de votre choix : ( exemple en B6 de la feuille 2) Sheets(2).Cells(6, "B").Value = c End Sub
-- Cordialement,
Jordane
"no-comment" a écrit :
Jordane a écrit le 16/02/2009 à 13h43 : > bonjour, > je pense que la fonction nb.si.ens peut résoudre votre problème. > > exemple: > =NB.SI.ENS(A1:A5;"¬tivite 1";C1:C5;"=oui") > > > > -- > Cordialement, > > Jordane > > > "no-comment" a écrit : > >> Bonjour, >> >> Je souhaite incrémenter une cellule dans la feuille 2 en fonction de la >> valeur >> d'une cellule de la feuille 1 : >> >> Pour chaque ligne de la feuille 1, je veux tester la valeur de la colonne A. >> Si >> la valeur de la cellule A est "Activite 1", alors je veux tester la >> valeur de la >> cellule C de la même ligne. Si le texte de cette cellule est >> "OUI", alors je >> veux ajouter 1 dans la cellule B6 de la feuille 2. >> >> Merci d'avance pour votre aide. >> >> Cordialement, >> >> Effectivement...
Le problème est que j'ai un tableu de 1000 lignes environ, avec une vingtaine d'activités différentes. Et je souhaite surtout ne pas avoir à changer la formule si une ligne est ajoutée pour une des activités voire qu'une énième activité est ajoutée...
Je pensais à un code du type :
Sub Dim c As Integer For i=2 to 2000 If Cell.Value = "Activite 1" Then Cells(i,3).activate If ActiveCell.value = "oui" Then Feuil2.activate Cells(6,2).select c=c+1 Next
End Sub
Mais ca marche pas :( (en même temps je suis pas forcément douée...) (Et ensuite dupliquer le code pour chaque activité)
pardon je n'avais pas lu la fin de votre question:
Par macro je procederai ainsi:
Sub toto()
Dim nbl As Integer ' variable pour le nombre de lignes dans le tableau
nbl = Sheets(1).UsedRange.Rows.Count
' boucle + test sur les valeurs du tableau
For i = 1 To nbl
If Sheets(1).Cells(i, "A").Value = "activite 1" And Sheets(1).Cells(i,
"G").Value = "oui" Then
c = c + 1 ' incrémentation de la variable
End If
Next
'ecriture de la variable dans la feuille de votre choix : ( exemple en B6 de
la feuille 2)
Sheets(2).Cells(6, "B").Value = c
End Sub
--
Cordialement,
Jordane
"no-comment" a écrit :
Jordane a écrit le 16/02/2009 à 13h43 :
> bonjour,
> je pense que la fonction nb.si.ens peut résoudre votre problème.
>
> exemple:
> =NB.SI.ENS(A1:A5;"¬tivite 1";C1:C5;"=oui")
>
>
>
> --
> Cordialement,
>
> Jordane
>
>
> "no-comment" a écrit :
>
>> Bonjour,
>>
>> Je souhaite incrémenter une cellule dans la feuille 2 en fonction de la
>> valeur
>> d'une cellule de la feuille 1 :
>>
>> Pour chaque ligne de la feuille 1, je veux tester la valeur de la colonne
A.
>> Si
>> la valeur de la cellule A est "Activite 1", alors je veux tester la
>> valeur de la
>> cellule C de la même ligne. Si le texte de cette cellule est
>> "OUI", alors je
>> veux ajouter 1 dans la cellule B6 de la feuille 2.
>>
>> Merci d'avance pour votre aide.
>>
>> Cordialement,
>>
>>
Effectivement...
Le problème est que j'ai un tableu de 1000 lignes environ, avec une vingtaine
d'activités différentes. Et je souhaite surtout ne pas avoir à changer la
formule si une ligne est ajoutée pour une des activités voire qu'une énième
activité est ajoutée...
Je pensais à un code du type :
Sub
Dim c As Integer
For i=2 to 2000
If Cell.Value = "Activite 1" Then Cells(i,3).activate
If ActiveCell.value = "oui" Then Feuil2.activate
Cells(6,2).select
c=c+1
Next
End Sub
Mais ca marche pas :( (en même temps je suis pas forcément douée...)
(Et ensuite dupliquer le code pour chaque activité)
pardon je n'avais pas lu la fin de votre question:
Par macro je procederai ainsi:
Sub toto() Dim nbl As Integer ' variable pour le nombre de lignes dans le tableau nbl = Sheets(1).UsedRange.Rows.Count ' boucle + test sur les valeurs du tableau For i = 1 To nbl If Sheets(1).Cells(i, "A").Value = "activite 1" And Sheets(1).Cells(i, "G").Value = "oui" Then c = c + 1 ' incrémentation de la variable End If Next 'ecriture de la variable dans la feuille de votre choix : ( exemple en B6 de la feuille 2) Sheets(2).Cells(6, "B").Value = c End Sub
-- Cordialement,
Jordane
"no-comment" a écrit :
Jordane a écrit le 16/02/2009 à 13h43 : > bonjour, > je pense que la fonction nb.si.ens peut résoudre votre problème. > > exemple: > =NB.SI.ENS(A1:A5;"¬tivite 1";C1:C5;"=oui") > > > > -- > Cordialement, > > Jordane > > > "no-comment" a écrit : > >> Bonjour, >> >> Je souhaite incrémenter une cellule dans la feuille 2 en fonction de la >> valeur >> d'une cellule de la feuille 1 : >> >> Pour chaque ligne de la feuille 1, je veux tester la valeur de la colonne A. >> Si >> la valeur de la cellule A est "Activite 1", alors je veux tester la >> valeur de la >> cellule C de la même ligne. Si le texte de cette cellule est >> "OUI", alors je >> veux ajouter 1 dans la cellule B6 de la feuille 2. >> >> Merci d'avance pour votre aide. >> >> Cordialement, >> >> Effectivement...
Le problème est que j'ai un tableu de 1000 lignes environ, avec une vingtaine d'activités différentes. Et je souhaite surtout ne pas avoir à changer la formule si une ligne est ajoutée pour une des activités voire qu'une énième activité est ajoutée...
Je pensais à un code du type :
Sub Dim c As Integer For i=2 to 2000 If Cell.Value = "Activite 1" Then Cells(i,3).activate If ActiveCell.value = "oui" Then Feuil2.activate Cells(6,2).select c=c+1 Next
End Sub
Mais ca marche pas :( (en même temps je suis pas forcément douée...) (Et ensuite dupliquer le code pour chaque activité)
no-comment
Jordane a écrit le 16/02/2009 à 15h41 :
pardon je n'avais pas lu la fin de votre question:
Par macro je procederai ainsi:
Sub toto() Dim nbl As Integer ' variable pour le nombre de lignes dans le tableau nbl = Sheets(1).UsedRange.Rows.Count ' boucle + test sur les valeurs du tableau For i = 1 To nbl If Sheets(1).Cells(i, "A").Value = "activite 1" And Sheets(1).Cells(i, "G").Value = "oui" Then c = c + 1 ' incrémentation de la variable End If Next 'ecriture de la variable dans la feuille de votre choix : ( exemple en B6 de la feuille 2) Sheets(2).Cells(6, "B").Value = c End Sub
-- Cordialement,
Jordane
"no-comment" a écrit :
Jordane a écrit le 16/02/2009 à 13h43 : > bonjour, > je pense que la fonction nb.si.ens peut résoudre votre problème. > > exemple: > =NB.SI.ENS(A1:A5;"¬tivite 1";C1:C5;"=oui") > > > > -- > Cordialement, > > Jordane > > > "no-comment" a écrit : > >> Bonjour, >> >> Je souhaite incrémenter une cellule dans la feuille 2 en fonction de la >> valeur >> d'une cellule de la feuille 1 : >> >> Pour chaque ligne de la feuille 1, je veux tester la valeur de la colonne A. >> Si >> la valeur de la cellule A est "Activite 1", alors je veux tester la >> valeur de la >> cellule C de la même ligne. Si le texte de cette cellule est >> "OUI", alors je >> veux ajouter 1 dans la cellule B6 de la feuille 2. >> >> Merci d'avance pour votre aide. >> >> Cordialement, >> >> Effectivement...
Le problème est que j'ai un tableu de 1000 lignes environ, avec une vingtaine d'activités différentes. Et je souhaite surtout ne pas avoir à changer la formule si une ligne est ajoutée pour une des activités voire qu'une énième activité est ajoutée...
Je pensais à un code du type :
Sub Dim c As Integer For i=2 to 2000 If Cell.Value = "Activite 1" Then Cells(i,3).activate If ActiveCell.value = "oui" Then Feuil2.activate Cells(6,2).select c=c+1 Next
End Sub
Mais ca marche pas :( (en même temps je suis pas forcément douée...) (Et ensuite dupliquer le code pour chaque activité)
Merci, ca a l'air de faire exactement ce que je veux :)
Jordane a écrit le 16/02/2009 à 15h41 :
pardon je n'avais pas lu la fin de votre question:
Par macro je procederai ainsi:
Sub toto()
Dim nbl As Integer ' variable pour le nombre de lignes dans le tableau
nbl = Sheets(1).UsedRange.Rows.Count
' boucle + test sur les valeurs du tableau
For i = 1 To nbl
If Sheets(1).Cells(i, "A").Value = "activite 1" And
Sheets(1).Cells(i,
"G").Value = "oui" Then
c = c + 1 ' incrémentation de la variable
End If
Next
'ecriture de la variable dans la feuille de votre choix : ( exemple en B6 de
la feuille 2)
Sheets(2).Cells(6, "B").Value = c
End Sub
--
Cordialement,
Jordane
"no-comment" a écrit :
Jordane a écrit le 16/02/2009 à 13h43 :
> bonjour,
> je pense que la fonction nb.si.ens peut résoudre votre
problème.
>
> exemple:
> =NB.SI.ENS(A1:A5;"¬tivite 1";C1:C5;"=oui")
>
>
>
> --
> Cordialement,
>
> Jordane
>
>
> "no-comment" a écrit :
>
>> Bonjour,
>>
>> Je souhaite incrémenter une cellule dans la feuille 2 en
fonction de la
>> valeur
>> d'une cellule de la feuille 1 :
>>
>> Pour chaque ligne de la feuille 1, je veux tester la valeur de la
colonne
A.
>> Si
>> la valeur de la cellule A est "Activite 1", alors je veux
tester la
>> valeur de la
>> cellule C de la même ligne. Si le texte de cette cellule est
>> "OUI", alors je
>> veux ajouter 1 dans la cellule B6 de la feuille 2.
>>
>> Merci d'avance pour votre aide.
>>
>> Cordialement,
>>
>>
Effectivement...
Le problème est que j'ai un tableu de 1000 lignes environ, avec une
vingtaine
d'activités différentes. Et je souhaite surtout ne pas avoir
à changer la
formule si une ligne est ajoutée pour une des activités voire
qu'une énième
activité est ajoutée...
Je pensais à un code du type :
Sub
Dim c As Integer
For i=2 to 2000
If Cell.Value = "Activite 1" Then Cells(i,3).activate
If ActiveCell.value = "oui" Then Feuil2.activate
Cells(6,2).select
c=c+1
Next
End Sub
Mais ca marche pas :( (en même temps je suis pas forcément
douée...)
(Et ensuite dupliquer le code pour chaque activité)
Merci, ca a l'air de faire exactement ce que je veux :)
pardon je n'avais pas lu la fin de votre question:
Par macro je procederai ainsi:
Sub toto() Dim nbl As Integer ' variable pour le nombre de lignes dans le tableau nbl = Sheets(1).UsedRange.Rows.Count ' boucle + test sur les valeurs du tableau For i = 1 To nbl If Sheets(1).Cells(i, "A").Value = "activite 1" And Sheets(1).Cells(i, "G").Value = "oui" Then c = c + 1 ' incrémentation de la variable End If Next 'ecriture de la variable dans la feuille de votre choix : ( exemple en B6 de la feuille 2) Sheets(2).Cells(6, "B").Value = c End Sub
-- Cordialement,
Jordane
"no-comment" a écrit :
Jordane a écrit le 16/02/2009 à 13h43 : > bonjour, > je pense que la fonction nb.si.ens peut résoudre votre problème. > > exemple: > =NB.SI.ENS(A1:A5;"¬tivite 1";C1:C5;"=oui") > > > > -- > Cordialement, > > Jordane > > > "no-comment" a écrit : > >> Bonjour, >> >> Je souhaite incrémenter une cellule dans la feuille 2 en fonction de la >> valeur >> d'une cellule de la feuille 1 : >> >> Pour chaque ligne de la feuille 1, je veux tester la valeur de la colonne A. >> Si >> la valeur de la cellule A est "Activite 1", alors je veux tester la >> valeur de la >> cellule C de la même ligne. Si le texte de cette cellule est >> "OUI", alors je >> veux ajouter 1 dans la cellule B6 de la feuille 2. >> >> Merci d'avance pour votre aide. >> >> Cordialement, >> >> Effectivement...
Le problème est que j'ai un tableu de 1000 lignes environ, avec une vingtaine d'activités différentes. Et je souhaite surtout ne pas avoir à changer la formule si une ligne est ajoutée pour une des activités voire qu'une énième activité est ajoutée...
Je pensais à un code du type :
Sub Dim c As Integer For i=2 to 2000 If Cell.Value = "Activite 1" Then Cells(i,3).activate If ActiveCell.value = "oui" Then Feuil2.activate Cells(6,2).select c=c+1 Next
End Sub
Mais ca marche pas :( (en même temps je suis pas forcément douée...) (Et ensuite dupliquer le code pour chaque activité)
Merci, ca a l'air de faire exactement ce que je veux :)