bonsoir,
j'ai un classeur avec une feuille par mois +1 feuille synthèse
j'ai le code suivant
Sub OccurrencesMotFeuillesMois()
Dim cell As Range
Dim mot As String
Dim occurrence As Long
Dim f As Integer
mot = "vacances"
occurrence = 0
For f = 2 To Sheets.Count
For Each cell In Sheets(f).UsedRange.Cells
If cell = mot Then occurrence = occurrence + 1
Next cell
Next f
Sheets(13).Range("p2") = occurrence
End Sub
qui fonctionne bien sauf pour la feuille 1(janvier )
je ne comprends pas pourquoi
merci de votre aide ence soir de paix de tolérence et de fête!!!!
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacquouille
Bonsoir Pierre Tu déclares que F commences à 2 jusque x où x est le nb de feuilles (ici, c'est donc 13). Donc il manque la première qui correspond avec un peu de chance à celle du mois de janvier, puisque tu dis d'inscrire le résultat en feuille 13. Si tu essayais for f=1 to 12 ....? Bonne chance
"pierre" <"xpierre52x"@tiscali.fr> a écrit dans le message news:
bonsoir, j'ai un classeur avec une feuille par mois +1 feuille synthèse j'ai le code suivant
Sub OccurrencesMotFeuillesMois() Dim cell As Range Dim mot As String Dim occurrence As Long Dim f As Integer mot = "vacances" occurrence = 0 For f = 2 To Sheets.Count For Each cell In Sheets(f).UsedRange.Cells If cell = mot Then occurrence = occurrence + 1 Next cell Next f Sheets(13).Range("p2") = occurrence End Sub
qui fonctionne bien sauf pour la feuille 1(janvier ) je ne comprends pas pourquoi merci de votre aide ence soir de paix de tolérence et de fête!!!!
Bonsoir Pierre
Tu déclares que F commences à 2 jusque x où x est le nb de feuilles (ici,
c'est donc 13).
Donc il manque la première qui correspond avec un peu de chance à celle du
mois de janvier, puisque tu dis d'inscrire le résultat en feuille 13. Si tu
essayais for f=1 to 12 ....?
Bonne chance
NoSpam_j.thiernesse@skynet.be
"pierre" <"xpierre52x"@tiscali.fr> a écrit dans le message news:
ujUEiH8zDHA.3496@TK2MSFTNGP11.phx.gbl...
bonsoir,
j'ai un classeur avec une feuille par mois +1 feuille synthèse
j'ai le code suivant
Sub OccurrencesMotFeuillesMois()
Dim cell As Range
Dim mot As String
Dim occurrence As Long
Dim f As Integer
mot = "vacances"
occurrence = 0
For f = 2 To Sheets.Count
For Each cell In Sheets(f).UsedRange.Cells
If cell = mot Then occurrence = occurrence + 1
Next cell
Next f
Sheets(13).Range("p2") = occurrence
End Sub
qui fonctionne bien sauf pour la feuille 1(janvier )
je ne comprends pas pourquoi
merci de votre aide ence soir de paix de tolérence et de fête!!!!
Bonsoir Pierre Tu déclares que F commences à 2 jusque x où x est le nb de feuilles (ici, c'est donc 13). Donc il manque la première qui correspond avec un peu de chance à celle du mois de janvier, puisque tu dis d'inscrire le résultat en feuille 13. Si tu essayais for f=1 to 12 ....? Bonne chance
"pierre" <"xpierre52x"@tiscali.fr> a écrit dans le message news:
bonsoir, j'ai un classeur avec une feuille par mois +1 feuille synthèse j'ai le code suivant
Sub OccurrencesMotFeuillesMois() Dim cell As Range Dim mot As String Dim occurrence As Long Dim f As Integer mot = "vacances" occurrence = 0 For f = 2 To Sheets.Count For Each cell In Sheets(f).UsedRange.Cells If cell = mot Then occurrence = occurrence + 1 Next cell Next f Sheets(13).Range("p2") = occurrence End Sub
qui fonctionne bien sauf pour la feuille 1(janvier ) je ne comprends pas pourquoi merci de votre aide ence soir de paix de tolérence et de fête!!!!
pierre
désolé mais ça marche pas bon réveillon quand même
"Jacquouille" a écrit dans le message news:
Bonsoir Pierre Tu déclares que F commences à 2 jusque x où x est le nb de feuilles (ici, c'est donc 13). Donc il manque la première qui correspond avec un peu de chance à celle du mois de janvier, puisque tu dis d'inscrire le résultat en feuille 13. Si tu
"pierre" <"xpierre52x"@tiscali.fr> a écrit dans le message news:
bonsoir, j'ai un classeur avec une feuille par mois +1 feuille synthèse j'ai le code suivant
Sub OccurrencesMotFeuillesMois() Dim cell As Range Dim mot As String Dim occurrence As Long Dim f As Integer mot = "vacances" occurrence = 0 For f = 2 To Sheets.Count For Each cell In Sheets(f).UsedRange.Cells If cell = mot Then occurrence = occurrence + 1 Next cell Next f Sheets(13).Range("p2") = occurrence End Sub
qui fonctionne bien sauf pour la feuille 1(janvier ) je ne comprends pas pourquoi merci de votre aide ence soir de paix de tolérence et de fête!!!!
désolé mais ça marche pas
bon réveillon quand même
"Jacquouille" <NoSpam_j.thiernesse@skynet.be> a écrit dans le message news:
ufvVLX8zDHA.3496@TK2MSFTNGP11.phx.gbl...
Bonsoir Pierre
Tu déclares que F commences à 2 jusque x où x est le nb de feuilles (ici,
c'est donc 13).
Donc il manque la première qui correspond avec un peu de chance à celle du
mois de janvier, puisque tu dis d'inscrire le résultat en feuille 13. Si
tu
NoSpam_j.thiernesse@skynet.be
"pierre" <"xpierre52x"@tiscali.fr> a écrit dans le message news:
ujUEiH8zDHA.3496@TK2MSFTNGP11.phx.gbl...
bonsoir,
j'ai un classeur avec une feuille par mois +1 feuille synthèse
j'ai le code suivant
Sub OccurrencesMotFeuillesMois()
Dim cell As Range
Dim mot As String
Dim occurrence As Long
Dim f As Integer
mot = "vacances"
occurrence = 0
For f = 2 To Sheets.Count
For Each cell In Sheets(f).UsedRange.Cells
If cell = mot Then occurrence = occurrence + 1
Next cell
Next f
Sheets(13).Range("p2") = occurrence
End Sub
qui fonctionne bien sauf pour la feuille 1(janvier )
je ne comprends pas pourquoi
merci de votre aide ence soir de paix de tolérence et de fête!!!!
désolé mais ça marche pas bon réveillon quand même
"Jacquouille" a écrit dans le message news:
Bonsoir Pierre Tu déclares que F commences à 2 jusque x où x est le nb de feuilles (ici, c'est donc 13). Donc il manque la première qui correspond avec un peu de chance à celle du mois de janvier, puisque tu dis d'inscrire le résultat en feuille 13. Si tu
"pierre" <"xpierre52x"@tiscali.fr> a écrit dans le message news:
bonsoir, j'ai un classeur avec une feuille par mois +1 feuille synthèse j'ai le code suivant
Sub OccurrencesMotFeuillesMois() Dim cell As Range Dim mot As String Dim occurrence As Long Dim f As Integer mot = "vacances" occurrence = 0 For f = 2 To Sheets.Count For Each cell In Sheets(f).UsedRange.Cells If cell = mot Then occurrence = occurrence + 1 Next cell Next f Sheets(13).Range("p2") = occurrence End Sub
qui fonctionne bien sauf pour la feuille 1(janvier ) je ne comprends pas pourquoi merci de votre aide ence soir de paix de tolérence et de fête!!!!
Clément Marcotte
Bonjour,
Pas vraiment le temps de tester, mais tu utilise la collection sheets(), et, en VB - VBA, les collections ont la fâcheuse habitude de traiter leur premier élément comme l'élément 0 (zéro).
Essaie avec
For f = 0 To Sheets.Count - 1
Tu peux aussi essayer de faire exécuter ta procédure au pas-à-pas et placer des espions, pour voir ce qui se passe.
"pierre" <"xpierre52x"@tiscali.fr> a écrit dans le message de news:
bonsoir, j'ai un classeur avec une feuille par mois +1 feuille synthèse j'ai le code suivant
Sub OccurrencesMotFeuillesMois() Dim cell As Range Dim mot As String Dim occurrence As Long Dim f As Integer mot = "vacances" occurrence = 0 For f = 2 To Sheets.Count For Each cell In Sheets(f).UsedRange.Cells If cell = mot Then occurrence = occurrence + 1 Next cell Next f Sheets(13).Range("p2") = occurrence End Sub
qui fonctionne bien sauf pour la feuille 1(janvier ) je ne comprends pas pourquoi merci de votre aide ence soir de paix de tolérence et de fête!!!!
Bonjour,
Pas vraiment le temps de tester, mais tu utilise la collection
sheets(), et, en VB - VBA, les collections ont la fâcheuse habitude de
traiter leur premier élément comme l'élément 0 (zéro).
Essaie avec
For f = 0 To Sheets.Count - 1
Tu peux aussi essayer de faire exécuter ta procédure au pas-à-pas et
placer des espions, pour voir ce qui se passe.
"pierre" <"xpierre52x"@tiscali.fr> a écrit dans le message de
news:ujUEiH8zDHA.3496@TK2MSFTNGP11.phx.gbl...
bonsoir,
j'ai un classeur avec une feuille par mois +1 feuille synthèse
j'ai le code suivant
Sub OccurrencesMotFeuillesMois()
Dim cell As Range
Dim mot As String
Dim occurrence As Long
Dim f As Integer
mot = "vacances"
occurrence = 0
For f = 2 To Sheets.Count
For Each cell In Sheets(f).UsedRange.Cells
If cell = mot Then occurrence = occurrence + 1
Next cell
Next f
Sheets(13).Range("p2") = occurrence
End Sub
qui fonctionne bien sauf pour la feuille 1(janvier )
je ne comprends pas pourquoi
merci de votre aide ence soir de paix de tolérence et de fête!!!!
Pas vraiment le temps de tester, mais tu utilise la collection sheets(), et, en VB - VBA, les collections ont la fâcheuse habitude de traiter leur premier élément comme l'élément 0 (zéro).
Essaie avec
For f = 0 To Sheets.Count - 1
Tu peux aussi essayer de faire exécuter ta procédure au pas-à-pas et placer des espions, pour voir ce qui se passe.
"pierre" <"xpierre52x"@tiscali.fr> a écrit dans le message de news:
bonsoir, j'ai un classeur avec une feuille par mois +1 feuille synthèse j'ai le code suivant
Sub OccurrencesMotFeuillesMois() Dim cell As Range Dim mot As String Dim occurrence As Long Dim f As Integer mot = "vacances" occurrence = 0 For f = 2 To Sheets.Count For Each cell In Sheets(f).UsedRange.Cells If cell = mot Then occurrence = occurrence + 1 Next cell Next f Sheets(13).Range("p2") = occurrence End Sub
qui fonctionne bien sauf pour la feuille 1(janvier ) je ne comprends pas pourquoi merci de votre aide ence soir de paix de tolérence et de fête!!!!
Pascal Engelmajer
Salut Clément, sauf ... Sheets, Cells, par exemple -- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel "Clément Marcotte" a écrit dans le message de news:
Bonjour,
Pas vraiment le temps de tester, mais tu utilise la collection sheets(), et, en VB - VBA, les collections ont la fâcheuse habitude de traiter leur premier élément comme l'élément 0 (zéro).
Essaie avec
For f = 0 To Sheets.Count - 1
Tu peux aussi essayer de faire exécuter ta procédure au pas-à-pas et placer des espions, pour voir ce qui se passe.
"pierre" <"xpierre52x"@tiscali.fr> a écrit dans le message de news:
bonsoir, j'ai un classeur avec une feuille par mois +1 feuille synthèse j'ai le code suivant
Sub OccurrencesMotFeuillesMois() Dim cell As Range Dim mot As String Dim occurrence As Long Dim f As Integer mot = "vacances" occurrence = 0 For f = 2 To Sheets.Count For Each cell In Sheets(f).UsedRange.Cells If cell = mot Then occurrence = occurrence + 1 Next cell Next f Sheets(13).Range("p2") = occurrence End Sub
qui fonctionne bien sauf pour la feuille 1(janvier ) je ne comprends pas pourquoi merci de votre aide ence soir de paix de tolérence et de fête!!!!
Salut Clément,
sauf ... Sheets, Cells, par exemple
--
Amicalement.
Pascal
"il n'y a pas de vent favorable pour celui qui ne sait pas ou il va."
Sénèque.
http://www.ilyapa.net/excel
"Clément Marcotte" <clement.marcotte@sympatico.ca> a écrit dans le message
de news: OL6fYo8zDHA.3116@TK2MSFTNGP11.phx.gbl...
Bonjour,
Pas vraiment le temps de tester, mais tu utilise la collection
sheets(), et, en VB - VBA, les collections ont la fâcheuse habitude de
traiter leur premier élément comme l'élément 0 (zéro).
Essaie avec
For f = 0 To Sheets.Count - 1
Tu peux aussi essayer de faire exécuter ta procédure au pas-à-pas et
placer des espions, pour voir ce qui se passe.
"pierre" <"xpierre52x"@tiscali.fr> a écrit dans le message de
news:ujUEiH8zDHA.3496@TK2MSFTNGP11.phx.gbl...
bonsoir,
j'ai un classeur avec une feuille par mois +1 feuille synthèse
j'ai le code suivant
Sub OccurrencesMotFeuillesMois()
Dim cell As Range
Dim mot As String
Dim occurrence As Long
Dim f As Integer
mot = "vacances"
occurrence = 0
For f = 2 To Sheets.Count
For Each cell In Sheets(f).UsedRange.Cells
If cell = mot Then occurrence = occurrence + 1
Next cell
Next f
Sheets(13).Range("p2") = occurrence
End Sub
qui fonctionne bien sauf pour la feuille 1(janvier )
je ne comprends pas pourquoi
merci de votre aide ence soir de paix de tolérence et de fête!!!!
Salut Clément, sauf ... Sheets, Cells, par exemple -- Amicalement. Pascal "il n'y a pas de vent favorable pour celui qui ne sait pas ou il va." Sénèque. http://www.ilyapa.net/excel "Clément Marcotte" a écrit dans le message de news:
Bonjour,
Pas vraiment le temps de tester, mais tu utilise la collection sheets(), et, en VB - VBA, les collections ont la fâcheuse habitude de traiter leur premier élément comme l'élément 0 (zéro).
Essaie avec
For f = 0 To Sheets.Count - 1
Tu peux aussi essayer de faire exécuter ta procédure au pas-à-pas et placer des espions, pour voir ce qui se passe.
"pierre" <"xpierre52x"@tiscali.fr> a écrit dans le message de news:
bonsoir, j'ai un classeur avec une feuille par mois +1 feuille synthèse j'ai le code suivant
Sub OccurrencesMotFeuillesMois() Dim cell As Range Dim mot As String Dim occurrence As Long Dim f As Integer mot = "vacances" occurrence = 0 For f = 2 To Sheets.Count For Each cell In Sheets(f).UsedRange.Cells If cell = mot Then occurrence = occurrence + 1 Next cell Next f Sheets(13).Range("p2") = occurrence End Sub
qui fonctionne bien sauf pour la feuille 1(janvier ) je ne comprends pas pourquoi merci de votre aide ence soir de paix de tolérence et de fête!!!!
Michel Gaboly
Bonsoir,
Est-ce que janvier n'est pas tout bêtement la feuille 1 (tu initialises f à 2) ?
D'autre part, tu peux simplifier le code et améliorer la vitesse en utilisant NB.SI(), COUNTIF() en anglais (avec la feuille de synthèse en dernière position) :
Sub OccurrencesMotFeuillesMois() Dim f As Worksheet, i As Integer, Occurrences As Integer, j As Integer For i = 1 To Sheets.Count - 1 Occurrences = Occurrences + Application.WorksheetFunction.CountIf(Sheets(i).UsedRange, "vacances") Next i End Sub
Cela évite de faire une boucle pour chaque feuille.
Tu peux également éviter VBA avec une formule contenant une référence 3D dans la feuille de synthèse.
bonsoir, j'ai un classeur avec une feuille par mois +1 feuille synthèse j'ai le code suivant
Sub OccurrencesMotFeuillesMois() Dim cell As Range Dim mot As String Dim occurrence As Long Dim f As Integer mot = "vacances" occurrence = 0 For f = 2 To Sheets.Count For Each cell In Sheets(f).UsedRange.Cells If cell = mot Then occurrence = occurrence + 1 Next cell Next f Sheets(13).Range("p2") = occurrence End Sub
qui fonctionne bien sauf pour la feuille 1(janvier ) je ne comprends pas pourquoi merci de votre aide en ce soir de paix de tolérance et de fête!!!!
-- Cordialement,
Michel Gaboly http://www.gaboly.com
Bonsoir,
Est-ce que janvier n'est pas tout bêtement la feuille 1 (tu initialises
f à 2) ?
D'autre part, tu peux simplifier le code et améliorer la vitesse en
utilisant NB.SI(), COUNTIF() en anglais (avec la feuille de synthèse
en dernière position) :
Sub OccurrencesMotFeuillesMois()
Dim f As Worksheet, i As Integer, Occurrences As Integer, j As Integer
For i = 1 To Sheets.Count - 1
Occurrences = Occurrences + Application.WorksheetFunction.CountIf(Sheets(i).UsedRange, "vacances")
Next i
End Sub
Cela évite de faire une boucle pour chaque feuille.
Tu peux également éviter VBA avec une formule contenant une référence
3D dans la feuille de synthèse.
bonsoir,
j'ai un classeur avec une feuille par mois +1 feuille synthèse
j'ai le code suivant
Sub OccurrencesMotFeuillesMois()
Dim cell As Range
Dim mot As String
Dim occurrence As Long
Dim f As Integer
mot = "vacances"
occurrence = 0
For f = 2 To Sheets.Count
For Each cell In Sheets(f).UsedRange.Cells
If cell = mot Then occurrence = occurrence + 1
Next cell
Next f
Sheets(13).Range("p2") = occurrence
End Sub
qui fonctionne bien sauf pour la feuille 1(janvier )
je ne comprends pas pourquoi
merci de votre aide en ce soir de paix de tolérance et de fête!!!!
Est-ce que janvier n'est pas tout bêtement la feuille 1 (tu initialises f à 2) ?
D'autre part, tu peux simplifier le code et améliorer la vitesse en utilisant NB.SI(), COUNTIF() en anglais (avec la feuille de synthèse en dernière position) :
Sub OccurrencesMotFeuillesMois() Dim f As Worksheet, i As Integer, Occurrences As Integer, j As Integer For i = 1 To Sheets.Count - 1 Occurrences = Occurrences + Application.WorksheetFunction.CountIf(Sheets(i).UsedRange, "vacances") Next i End Sub
Cela évite de faire une boucle pour chaque feuille.
Tu peux également éviter VBA avec une formule contenant une référence 3D dans la feuille de synthèse.
bonsoir, j'ai un classeur avec une feuille par mois +1 feuille synthèse j'ai le code suivant
Sub OccurrencesMotFeuillesMois() Dim cell As Range Dim mot As String Dim occurrence As Long Dim f As Integer mot = "vacances" occurrence = 0 For f = 2 To Sheets.Count For Each cell In Sheets(f).UsedRange.Cells If cell = mot Then occurrence = occurrence + 1 Next cell Next f Sheets(13).Range("p2") = occurrence End Sub
qui fonctionne bien sauf pour la feuille 1(janvier ) je ne comprends pas pourquoi merci de votre aide en ce soir de paix de tolérance et de fête!!!!
-- Cordialement,
Michel Gaboly http://www.gaboly.com
pierre
bonne et heureuse année à tous(tes) la solution est For f = 1 To Sheets.Count désolé pour ma réponse pécédente que la santé et la paix soient avec vous en cette nouvelle année
"pierre" <"xpierre52x"@tiscali.fr> a écrit dans le message news:
bonsoir, j'ai un classeur avec une feuille par mois +1 feuille synthèse j'ai le code suivant
Sub OccurrencesMotFeuillesMois() Dim cell As Range Dim mot As String Dim occurrence As Long Dim f As Integer mot = "vacances" occurrence = 0 For f = 2 To Sheets.Count For Each cell In Sheets(f).UsedRange.Cells If cell = mot Then occurrence = occurrence + 1 Next cell Next f Sheets(13).Range("p2") = occurrence End Sub
qui fonctionne bien sauf pour la feuille 1(janvier ) je ne comprends pas pourquoi merci de votre aide ence soir de paix de tolérence et de fête!!!!
bonne et heureuse année à tous(tes)
la solution est
For f = 1 To Sheets.Count
désolé pour ma réponse pécédente
que la santé et la paix soient avec vous en cette nouvelle année
"pierre" <"xpierre52x"@tiscali.fr> a écrit dans le message news:
ujUEiH8zDHA.3496@TK2MSFTNGP11.phx.gbl...
bonsoir,
j'ai un classeur avec une feuille par mois +1 feuille synthèse
j'ai le code suivant
Sub OccurrencesMotFeuillesMois()
Dim cell As Range
Dim mot As String
Dim occurrence As Long
Dim f As Integer
mot = "vacances"
occurrence = 0
For f = 2 To Sheets.Count
For Each cell In Sheets(f).UsedRange.Cells
If cell = mot Then occurrence = occurrence + 1
Next cell
Next f
Sheets(13).Range("p2") = occurrence
End Sub
qui fonctionne bien sauf pour la feuille 1(janvier )
je ne comprends pas pourquoi
merci de votre aide ence soir de paix de tolérence et de fête!!!!
bonne et heureuse année à tous(tes) la solution est For f = 1 To Sheets.Count désolé pour ma réponse pécédente que la santé et la paix soient avec vous en cette nouvelle année
"pierre" <"xpierre52x"@tiscali.fr> a écrit dans le message news:
bonsoir, j'ai un classeur avec une feuille par mois +1 feuille synthèse j'ai le code suivant
Sub OccurrencesMotFeuillesMois() Dim cell As Range Dim mot As String Dim occurrence As Long Dim f As Integer mot = "vacances" occurrence = 0 For f = 2 To Sheets.Count For Each cell In Sheets(f).UsedRange.Cells If cell = mot Then occurrence = occurrence + 1 Next cell Next f Sheets(13).Range("p2") = occurrence End Sub
qui fonctionne bien sauf pour la feuille 1(janvier ) je ne comprends pas pourquoi merci de votre aide ence soir de paix de tolérence et de fête!!!!