comptabiliser et changer de couleurs et plantage !!!

Le
d4399
Bonjour,

J'ai un fichier avec une colonne dans lesquels il y a du texte.
J'aimerais comptabiliser le nombre de fois ou apparait le texte et le
surligner d'une certaine couleur (Exepmle ci-dessous).

J'ai fait une fonction qui fait cela mais le compteur affiché me donne 101 !
Donc il fait le tour il ne s'arrete pas !! Comment faire pour qu'il ne compte
qu'une fois ???

Mon autre souci est que si le texte n'existe pas il me mets un message
d'erreur : "Erreur d'execution 91 variable objet ou variable de bloc With non
definie"
Comment je peux faire pour faire afficher 0 comme resultat dans une cellule
et ne pas avoir cette fenetre ???

Merci d'avance pour votre aide !!!

Exemple :
Sub B_Demarrage()

Dim i As Integer
Dim j As Integer

j = 0
For i = 0 To 100
Cells.Find(What:="AVION", After:¬tiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:= _
xlNext, MatchCase:úlse, SearchFormat:úlse).Activate
Selection.Interior.ColorIndex = 3 'Rouge
j = j + 1
Next i
Worksheets("Resultats").Cells(2, 2).Value = j
End Sub
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
JB
Le #5046921
Bonjour,

Pour compter:=NB.SI(A:A;"avion")

Pour surligner: Format/MFC/égale à avion

JB

On 16 nov, 11:38, d4399
Bonjour,

J'ai un fichier avec une colonne dans lesquels il y a du texte.
J'aimerais comptabiliser le nombre de fois ou apparait le texte et le
surligner d'une certaine couleur (Exepmle ci-dessous).

J'ai fait une fonction qui fait cela mais le compteur affiché me donne 1 01 !
Donc il fait le tour il ne s'arrete pas !! Comment faire pour qu'il ne com pte
qu'une fois ???

Mon autre souci est que si le texte n'existe pas il me mets un message
d'erreur : "Erreur d'execution 91 variable objet ou variable de bloc With non
definie"
Comment je peux faire pour faire afficher 0 comme resultat dans une cellul e
et ne pas avoir cette fenetre ???

Merci d'avance pour votre aide !!!

Exemple :
Sub B_Demarrage()

Dim i As Integer
Dim j As Integer

j = 0
For i = 0 To 100
Cells.Find(What:="AVION", After:¬tiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:= _
xlNext, MatchCase:úlse, SearchFormat:úlse).Activate
Selection.Interior.ColorIndex = 3 'Rouge
j = j + 1
Next i
Worksheets("Resultats").Cells(2, 2).Value = j
End Sub


FFO
Le #5046901
Salut à toi

Solution macro :

j = 0
For i = 0 To 100
If ActiveCell.Offset(i, 0) = "AVION" Then
ActiveCell.Offset(i, 0).Interior.ColorIndex = 3
j = j + 1
End If
Next i
Worksheets("Resultats").Cells(2, 2).Value = j

Ne pas oublier de sélectionner la première cellule de la colonne à analyser

Celà devrait convenir


Bonjour,

J'ai un fichier avec une colonne dans lesquels il y a du texte.
J'aimerais comptabiliser le nombre de fois ou apparait le texte et le
surligner d'une certaine couleur (Exepmle ci-dessous).

J'ai fait une fonction qui fait cela mais le compteur affiché me donne 101 !
Donc il fait le tour il ne s'arrete pas !! Comment faire pour qu'il ne compte
qu'une fois ???

Mon autre souci est que si le texte n'existe pas il me mets un message
d'erreur : "Erreur d'execution 91 variable objet ou variable de bloc With non
definie"
Comment je peux faire pour faire afficher 0 comme resultat dans une cellule
et ne pas avoir cette fenetre ???

Merci d'avance pour votre aide !!!

Exemple :
Sub B_Demarrage()

Dim i As Integer
Dim j As Integer

j = 0
For i = 0 To 100
Cells.Find(What:="AVION", After:¬tiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:= _
xlNext, MatchCase:úlse, SearchFormat:úlse).Activate
Selection.Interior.ColorIndex = 3 'Rouge
j = j + 1
Next i
Worksheets("Resultats").Cells(2, 2).Value = j
End Sub


d4399
Le #5046831
ca marche nickel !!

Par contre j'ai oublie de préciser que le mot etait parmis d'autres dans la
cellule.
ex : IL Y A EU REPARATIONS DE L'AILE DE L'AVION ERG5375

Comment je peux inclure cette méthode de recherche ?


Salut à toi

Solution macro :

j = 0
For i = 0 To 100
If ActiveCell.Offset(i, 0) = "AVION" Then
ActiveCell.Offset(i, 0).Interior.ColorIndex = 3
j = j + 1
End If
Next i
Worksheets("Resultats").Cells(2, 2).Value = j

Ne pas oublier de sélectionner la première cellule de la colonne à analyser

Celà devrait convenir


Bonjour,

J'ai un fichier avec une colonne dans lesquels il y a du texte.
J'aimerais comptabiliser le nombre de fois ou apparait le texte et le
surligner d'une certaine couleur (Exepmle ci-dessous).

J'ai fait une fonction qui fait cela mais le compteur affiché me donne 101 !
Donc il fait le tour il ne s'arrete pas !! Comment faire pour qu'il ne compte
qu'une fois ???

Mon autre souci est que si le texte n'existe pas il me mets un message
d'erreur : "Erreur d'execution 91 variable objet ou variable de bloc With non
definie"
Comment je peux faire pour faire afficher 0 comme resultat dans une cellule
et ne pas avoir cette fenetre ???

Merci d'avance pour votre aide !!!

Exemple :
Sub B_Demarrage()

Dim i As Integer
Dim j As Integer

j = 0
For i = 0 To 100
Cells.Find(What:="AVION", After:¬tiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:= _
xlNext, MatchCase:úlse, SearchFormat:úlse).Activate
Selection.Interior.ColorIndex = 3 'Rouge
j = j + 1
Next i
Worksheets("Resultats").Cells(2, 2).Value = j
End Sub




FFO
Le #5046781
Rebonjours à toi

Je te propose ce code modifié ainsi :

j = 0
For i = 0 To 100
If ActiveCell.Offset(i, 0) Like "*AVION*" Then
ActiveCell.Offset(i, 0).Interior.ColorIndex = 3
j = j + 1
End If
Next i
Worksheets("Resultats").Cells(2, 2).Value = j

La ligne :
If ActiveCell.Offset(i, 0) Like "*AVION*" Then
prend en compte toutes les cellules contenant le mot "AVION"

Si tu remplaces *AVION* par *AVION
Seuls les cellules dont le contenu se termine par "AVION" seront
comptabilisées

Si tu remplaces *AVION* par AVION*
Seuls les cellules dont le contenu commence par "AVION" seront comptabilisées

Tu peux aussi mettre cette ligne :

If Ucase(ActiveCell.Offset(i, 0)) Like Ucase("*AVION*")

qui offre l'avantage de ne pas tenir compte des majuscules/minuscules pour
rechercher et comptabiliser un mot

Qu'en penses tu ????


ca marche nickel !!

Par contre j'ai oublie de préciser que le mot etait parmis d'autres dans la
cellule.
ex : IL Y A EU REPARATIONS DE L'AILE DE L'AVION ERG5375

Comment je peux inclure cette méthode de recherche ?


Salut à toi

Solution macro :

j = 0
For i = 0 To 100
If ActiveCell.Offset(i, 0) = "AVION" Then
ActiveCell.Offset(i, 0).Interior.ColorIndex = 3
j = j + 1
End If
Next i
Worksheets("Resultats").Cells(2, 2).Value = j

Ne pas oublier de sélectionner la première cellule de la colonne à analyser

Celà devrait convenir


Bonjour,

J'ai un fichier avec une colonne dans lesquels il y a du texte.
J'aimerais comptabiliser le nombre de fois ou apparait le texte et le
surligner d'une certaine couleur (Exepmle ci-dessous).

J'ai fait une fonction qui fait cela mais le compteur affiché me donne 101 !
Donc il fait le tour il ne s'arrete pas !! Comment faire pour qu'il ne compte
qu'une fois ???

Mon autre souci est que si le texte n'existe pas il me mets un message
d'erreur : "Erreur d'execution 91 variable objet ou variable de bloc With non
definie"
Comment je peux faire pour faire afficher 0 comme resultat dans une cellule
et ne pas avoir cette fenetre ???

Merci d'avance pour votre aide !!!

Exemple :
Sub B_Demarrage()

Dim i As Integer
Dim j As Integer

j = 0
For i = 0 To 100
Cells.Find(What:="AVION", After:¬tiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:= _
xlNext, MatchCase:úlse, SearchFormat:úlse).Activate
Selection.Interior.ColorIndex = 3 'Rouge
j = j + 1
Next i
Worksheets("Resultats").Cells(2, 2).Value = j
End Sub






d4399
Le #5046731
En fait la recherche marche mais il ne regarde pas toutes les cellules car je
penses que la fonction offset fait des décalages (on commence à 1 puis va
voir la 2 puis la cellule 4, puis la 7, puis 11, puis 16,21,29,etc...) ce qui
correspond à des écarts de 1,2,3,4,5, etc....

J'ai que la fonction FIND qui trouve tout mais le probléme c'est qu'elle
tourne en rond jusqu'à atteindre le compteur défini !!! donc impossible de
comptabiliser proprement !!

Je sais plus koi faire !!! snifff !!!


Rebonjours à toi

Je te propose ce code modifié ainsi :

j = 0
For i = 0 To 100
If ActiveCell.Offset(i, 0) Like "*AVION*" Then
ActiveCell.Offset(i, 0).Interior.ColorIndex = 3
j = j + 1
End If
Next i
Worksheets("Resultats").Cells(2, 2).Value = j

La ligne :
If ActiveCell.Offset(i, 0) Like "*AVION*" Then
prend en compte toutes les cellules contenant le mot "AVION"

Si tu remplaces *AVION* par *AVION
Seuls les cellules dont le contenu se termine par "AVION" seront
comptabilisées

Si tu remplaces *AVION* par AVION*
Seuls les cellules dont le contenu commence par "AVION" seront comptabilisées

Tu peux aussi mettre cette ligne :

If Ucase(ActiveCell.Offset(i, 0)) Like Ucase("*AVION*")

qui offre l'avantage de ne pas tenir compte des majuscules/minuscules pour
rechercher et comptabiliser un mot

Qu'en penses tu ????


ca marche nickel !!

Par contre j'ai oublie de préciser que le mot etait parmis d'autres dans la
cellule.
ex : IL Y A EU REPARATIONS DE L'AILE DE L'AVION ERG5375

Comment je peux inclure cette méthode de recherche ?


Salut à toi

Solution macro :

j = 0
For i = 0 To 100
If ActiveCell.Offset(i, 0) = "AVION" Then
ActiveCell.Offset(i, 0).Interior.ColorIndex = 3
j = j + 1
End If
Next i
Worksheets("Resultats").Cells(2, 2).Value = j

Ne pas oublier de sélectionner la première cellule de la colonne à analyser

Celà devrait convenir


Bonjour,

J'ai un fichier avec une colonne dans lesquels il y a du texte.
J'aimerais comptabiliser le nombre de fois ou apparait le texte et le
surligner d'une certaine couleur (Exepmle ci-dessous).

J'ai fait une fonction qui fait cela mais le compteur affiché me donne 101 !
Donc il fait le tour il ne s'arrete pas !! Comment faire pour qu'il ne compte
qu'une fois ???

Mon autre souci est que si le texte n'existe pas il me mets un message
d'erreur : "Erreur d'execution 91 variable objet ou variable de bloc With non
definie"
Comment je peux faire pour faire afficher 0 comme resultat dans une cellule
et ne pas avoir cette fenetre ???

Merci d'avance pour votre aide !!!

Exemple :
Sub B_Demarrage()

Dim i As Integer
Dim j As Integer

j = 0
For i = 0 To 100
Cells.Find(What:="AVION", After:¬tiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:= _
xlNext, MatchCase:úlse, SearchFormat:úlse).Activate
Selection.Interior.ColorIndex = 3 'Rouge
j = j + 1
Next i
Worksheets("Resultats").Cells(2, 2).Value = j
End Sub








FFO
Le #5046711
Rebonjours à toi

La fonction Offset réagit par rapport à la valeur du compteur i dans
l'instruction :

ActiveCell.Offset(i, 0)

La boucle donc For i = 1 to 100 /Next ajoute 1 à chaque passage qui décale
d'1 ligne supplémentaire la cellule analysé dans cette instruction

Donc toutes les cellules sont passées au cribles et de rajouter 1 au
résultat final ainsique de la colorier lorsqu'elle répond à la condition :

If ActiveCell.Offset(i, 0) Like "*AVION*" Then
ActiveCell.Offset(i, 0).Interior.ColorIndex = 3
j = j + 1
End If

Chez moi celà marche impeccable
Je viens d'essayer avec ta phrase en la recopiant 1 cellule sur 2 sur 100
cellules
J'ai bien eu toutes les cellules portant la phrase marquées en rouge et un
résultat de 50
Essaie dans un classeur tout neuf
Tu dois obtenir le même résultat que moi

Dis moi !!!!


En fait la recherche marche mais il ne regarde pas toutes les cellules car je
penses que la fonction offset fait des décalages (on commence à 1 puis va
voir la 2 puis la cellule 4, puis la 7, puis 11, puis 16,21,29,etc...) ce qui
correspond à des écarts de 1,2,3,4,5, etc....

J'ai que la fonction FIND qui trouve tout mais le probléme c'est qu'elle
tourne en rond jusqu'à atteindre le compteur défini !!! donc impossible de
comptabiliser proprement !!

Je sais plus koi faire !!! snifff !!!


Rebonjours à toi

Je te propose ce code modifié ainsi :

j = 0
For i = 0 To 100
If ActiveCell.Offset(i, 0) Like "*AVION*" Then
ActiveCell.Offset(i, 0).Interior.ColorIndex = 3
j = j + 1
End If
Next i
Worksheets("Resultats").Cells(2, 2).Value = j

La ligne :
If ActiveCell.Offset(i, 0) Like "*AVION*" Then
prend en compte toutes les cellules contenant le mot "AVION"

Si tu remplaces *AVION* par *AVION
Seuls les cellules dont le contenu se termine par "AVION" seront
comptabilisées

Si tu remplaces *AVION* par AVION*
Seuls les cellules dont le contenu commence par "AVION" seront comptabilisées

Tu peux aussi mettre cette ligne :

If Ucase(ActiveCell.Offset(i, 0)) Like Ucase("*AVION*")

qui offre l'avantage de ne pas tenir compte des majuscules/minuscules pour
rechercher et comptabiliser un mot

Qu'en penses tu ????


ca marche nickel !!

Par contre j'ai oublie de préciser que le mot etait parmis d'autres dans la
cellule.
ex : IL Y A EU REPARATIONS DE L'AILE DE L'AVION ERG5375

Comment je peux inclure cette méthode de recherche ?


Salut à toi

Solution macro :

j = 0
For i = 0 To 100
If ActiveCell.Offset(i, 0) = "AVION" Then
ActiveCell.Offset(i, 0).Interior.ColorIndex = 3
j = j + 1
End If
Next i
Worksheets("Resultats").Cells(2, 2).Value = j

Ne pas oublier de sélectionner la première cellule de la colonne à analyser

Celà devrait convenir


Bonjour,

J'ai un fichier avec une colonne dans lesquels il y a du texte.
J'aimerais comptabiliser le nombre de fois ou apparait le texte et le
surligner d'une certaine couleur (Exepmle ci-dessous).

J'ai fait une fonction qui fait cela mais le compteur affiché me donne 101 !
Donc il fait le tour il ne s'arrete pas !! Comment faire pour qu'il ne compte
qu'une fois ???

Mon autre souci est que si le texte n'existe pas il me mets un message
d'erreur : "Erreur d'execution 91 variable objet ou variable de bloc With non
definie"
Comment je peux faire pour faire afficher 0 comme resultat dans une cellule
et ne pas avoir cette fenetre ???

Merci d'avance pour votre aide !!!

Exemple :
Sub B_Demarrage()

Dim i As Integer
Dim j As Integer

j = 0
For i = 0 To 100
Cells.Find(What:="AVION", After:¬tiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:= _
xlNext, MatchCase:úlse, SearchFormat:úlse).Activate
Selection.Interior.ColorIndex = 3 'Rouge
j = j + 1
Next i
Worksheets("Resultats").Cells(2, 2).Value = j
End Sub










d4399
Le #5046601
Merci beaucoup pour ton aide !!!
c'est moi qui faisait une erreur car je m'obstinais à activer la cellule
donc il repartait plus loin !!

Enfin ça marche merci encore tu m'as sauvé la vie !!!


Rebonjours à toi

La fonction Offset réagit par rapport à la valeur du compteur i dans
l'instruction :

ActiveCell.Offset(i, 0)

La boucle donc For i = 1 to 100 /Next ajoute 1 à chaque passage qui décale
d'1 ligne supplémentaire la cellule analysé dans cette instruction

Donc toutes les cellules sont passées au cribles et de rajouter 1 au
résultat final ainsique de la colorier lorsqu'elle répond à la condition :

If ActiveCell.Offset(i, 0) Like "*AVION*" Then
ActiveCell.Offset(i, 0).Interior.ColorIndex = 3
j = j + 1
End If

Chez moi celà marche impeccable
Je viens d'essayer avec ta phrase en la recopiant 1 cellule sur 2 sur 100
cellules
J'ai bien eu toutes les cellules portant la phrase marquées en rouge et un
résultat de 50
Essaie dans un classeur tout neuf
Tu dois obtenir le même résultat que moi

Dis moi !!!!


En fait la recherche marche mais il ne regarde pas toutes les cellules car je
penses que la fonction offset fait des décalages (on commence à 1 puis va
voir la 2 puis la cellule 4, puis la 7, puis 11, puis 16,21,29,etc...) ce qui
correspond à des écarts de 1,2,3,4,5, etc....

J'ai que la fonction FIND qui trouve tout mais le probléme c'est qu'elle
tourne en rond jusqu'à atteindre le compteur défini !!! donc impossible de
comptabiliser proprement !!

Je sais plus koi faire !!! snifff !!!


Rebonjours à toi

Je te propose ce code modifié ainsi :

j = 0
For i = 0 To 100
If ActiveCell.Offset(i, 0) Like "*AVION*" Then
ActiveCell.Offset(i, 0).Interior.ColorIndex = 3
j = j + 1
End If
Next i
Worksheets("Resultats").Cells(2, 2).Value = j

La ligne :
If ActiveCell.Offset(i, 0) Like "*AVION*" Then
prend en compte toutes les cellules contenant le mot "AVION"

Si tu remplaces *AVION* par *AVION
Seuls les cellules dont le contenu se termine par "AVION" seront
comptabilisées

Si tu remplaces *AVION* par AVION*
Seuls les cellules dont le contenu commence par "AVION" seront comptabilisées

Tu peux aussi mettre cette ligne :

If Ucase(ActiveCell.Offset(i, 0)) Like Ucase("*AVION*")

qui offre l'avantage de ne pas tenir compte des majuscules/minuscules pour
rechercher et comptabiliser un mot

Qu'en penses tu ????


ca marche nickel !!

Par contre j'ai oublie de préciser que le mot etait parmis d'autres dans la
cellule.
ex : IL Y A EU REPARATIONS DE L'AILE DE L'AVION ERG5375

Comment je peux inclure cette méthode de recherche ?


Salut à toi

Solution macro :

j = 0
For i = 0 To 100
If ActiveCell.Offset(i, 0) = "AVION" Then
ActiveCell.Offset(i, 0).Interior.ColorIndex = 3
j = j + 1
End If
Next i
Worksheets("Resultats").Cells(2, 2).Value = j

Ne pas oublier de sélectionner la première cellule de la colonne à analyser

Celà devrait convenir


Bonjour,

J'ai un fichier avec une colonne dans lesquels il y a du texte.
J'aimerais comptabiliser le nombre de fois ou apparait le texte et le
surligner d'une certaine couleur (Exepmle ci-dessous).

J'ai fait une fonction qui fait cela mais le compteur affiché me donne 101 !
Donc il fait le tour il ne s'arrete pas !! Comment faire pour qu'il ne compte
qu'une fois ???

Mon autre souci est que si le texte n'existe pas il me mets un message
d'erreur : "Erreur d'execution 91 variable objet ou variable de bloc With non
definie"
Comment je peux faire pour faire afficher 0 comme resultat dans une cellule
et ne pas avoir cette fenetre ???

Merci d'avance pour votre aide !!!

Exemple :
Sub B_Demarrage()

Dim i As Integer
Dim j As Integer

j = 0
For i = 0 To 100
Cells.Find(What:="AVION", After:¬tiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:= _
xlNext, MatchCase:úlse, SearchFormat:úlse).Activate
Selection.Interior.ColorIndex = 3 'Rouge
j = j + 1
Next i
Worksheets("Resultats").Cells(2, 2).Value = j
End Sub












Mishell
Le #5046231
Bonjour.


Pour ne pas tourner en rond avec FindNext, garder en mémoire la première
adresse trouvée
Adr = Cellule.Address
et vérifier ensuite que l'on n'arrive pas à la même adresse:
' if Cellule.Address = Adr then exit do

Exemple:

Sub B_Demarrage()

Dim j As Integer

j = 0
Adr = ""
Set Cellule = Cells.Find("AVION", LookIn:=xlFormulas)

If Not Cellule Is Nothing Then
Adr = Cellule.Address
Do

Cellule.Interior.ColorIndex = 3 'Rouge
j = j + 1

Set Cellule = Cells.FindNext(Cellule)
' if Cellule.Address = Adr then exit do
Loop Until Cellule.Address = Adr
End If

Worksheets("Resultats").Cells(2, 2).Value = j
End Sub

Mishell


"d4399" news:
En fait la recherche marche mais il ne regarde pas toutes les cellules car
je
penses que la fonction offset fait des décalages (on commence à 1 puis va
voir la 2 puis la cellule 4, puis la 7, puis 11, puis 16,21,29,etc...) ce
qui
correspond à des écarts de 1,2,3,4,5, etc....

J'ai que la fonction FIND qui trouve tout mais le probléme c'est qu'elle
tourne en rond jusqu'à atteindre le compteur défini !!! donc impossible de
comptabiliser proprement !!

Je sais plus koi faire !!! snifff !!!


Rebonjours à toi

Je te propose ce code modifié ainsi :

j = 0
For i = 0 To 100
If ActiveCell.Offset(i, 0) Like "*AVION*" Then
ActiveCell.Offset(i, 0).Interior.ColorIndex = 3
j = j + 1
End If
Next i
Worksheets("Resultats").Cells(2, 2).Value = j

La ligne :
If ActiveCell.Offset(i, 0) Like "*AVION*" Then
prend en compte toutes les cellules contenant le mot "AVION"

Si tu remplaces *AVION* par *AVION
Seuls les cellules dont le contenu se termine par "AVION" seront
comptabilisées

Si tu remplaces *AVION* par AVION*
Seuls les cellules dont le contenu commence par "AVION" seront
comptabilisées

Tu peux aussi mettre cette ligne :

If Ucase(ActiveCell.Offset(i, 0)) Like Ucase("*AVION*")

qui offre l'avantage de ne pas tenir compte des majuscules/minuscules
pour
rechercher et comptabiliser un mot

Qu'en penses tu ????


ca marche nickel !!

Par contre j'ai oublie de préciser que le mot etait parmis d'autres
dans la
cellule.
ex : IL Y A EU REPARATIONS DE L'AILE DE L'AVION ERG5375

Comment je peux inclure cette méthode de recherche ?


Salut à toi

Solution macro :

j = 0
For i = 0 To 100
If ActiveCell.Offset(i, 0) = "AVION" Then
ActiveCell.Offset(i, 0).Interior.ColorIndex = 3
j = j + 1
End If
Next i
Worksheets("Resultats").Cells(2, 2).Value = j

Ne pas oublier de sélectionner la première cellule de la colonne à
analyser

Celà devrait convenir


Bonjour,

J'ai un fichier avec une colonne dans lesquels il y a du texte.
J'aimerais comptabiliser le nombre de fois ou apparait le texte et
le
surligner d'une certaine couleur (Exepmle ci-dessous).

J'ai fait une fonction qui fait cela mais le compteur affiché me
donne 101 !
Donc il fait le tour il ne s'arrete pas !! Comment faire pour qu'il
ne compte
qu'une fois ???

Mon autre souci est que si le texte n'existe pas il me mets un
message
d'erreur : "Erreur d'execution 91 variable objet ou variable de
bloc With non
definie"
Comment je peux faire pour faire afficher 0 comme resultat dans une
cellule
et ne pas avoir cette fenetre ???

Merci d'avance pour votre aide !!!

Exemple :
Sub B_Demarrage()

Dim i As Integer
Dim j As Integer

j = 0
For i = 0 To 100
Cells.Find(What:="AVION", After:¬tiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows,
SearchDirection:= _
xlNext, MatchCase:úlse, SearchFormat:úlse).Activate
Selection.Interior.ColorIndex = 3 'Rouge
j = j + 1
Next i
Worksheets("Resultats").Cells(2, 2).Value = j
End Sub










Publicité
Poster une réponse
Anonyme