A voir également:
- Compter les occurences d'un mot
- Créer un compte google - Guide
- Créer un compte gmail - Guide
- Mettre un mot de passe sur un dossier - Guide
- Comment récupérer un compte yahoo sans mot de passe - Guide
- Voir mot de passe wifi android - Guide
8 réponses
eljojo_e
Messages postés
1155
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
14 octobre 2022
153
11 juil. 2012 à 10:24
11 juil. 2012 à 10:24
Bonjour,
Essaye qqch comme ca :
Public Function compteur(name as string, colonne, ligne)
Application.Volatile
compteur = 0
Range(colonne & cellule).Activate
While (ActiveCell.Value <> "")
If ActiveCell.Value = name Then
compteur = compteur + 1
End If
ligne = ligne + 1
Wend
End Function
Cordialement,
Essaye qqch comme ca :
Public Function compteur(name as string, colonne, ligne)
Application.Volatile
compteur = 0
Range(colonne & cellule).Activate
While (ActiveCell.Value <> "")
If ActiveCell.Value = name Then
compteur = compteur + 1
End If
ligne = ligne + 1
Wend
End Function
Cordialement,
Ca marche pour le premier tableau merci :)
Mais ca ne va pas marcher pour le deuxième, comme la ligne de début va varier si on rajoute des données dans le premier tableau. Je vais essayer d'adapter ta méthode, ca ne devrait pas etre bien compliqué.
Encore merci!
Je reposterais en cas de gros soucis.
Salut!
Mais ca ne va pas marcher pour le deuxième, comme la ligne de début va varier si on rajoute des données dans le premier tableau. Je vais essayer d'adapter ta méthode, ca ne devrait pas etre bien compliqué.
Encore merci!
Je reposterais en cas de gros soucis.
Salut!
eljojo_e
Messages postés
1155
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
14 octobre 2022
153
Modifié par eljojo_e le 11/07/2012 à 10:45
Modifié par eljojo_e le 11/07/2012 à 10:45
Function compteur(name As String, cel) 'cel : tu clique sur la cellule ou tu veu que ca commence
b = Left(cel.Address, 2)
c = cel.Row
Do While (b & c <> "")
Range(cel.Address).Select
If Range(b & c).Value = name Then
compteur = compteur + 1
End If
c = c + 1
If Range(b & c).Value = "" Then Exit Function
Loop
End Function
b = Left(cel.Address, 2)
c = cel.Row
Do While (b & c <> "")
Range(cel.Address).Select
If Range(b & c).Value = name Then
compteur = compteur + 1
End If
c = c + 1
If Range(b & c).Value = "" Then Exit Function
Loop
End Function
Le soucis c'est que c'est destiné à des personnes qui ne connaissent pas vraiment et ne veulent pas connaitre excel... Donc je voulais faire un truc automatique, en donnant un nom à chaque cellule de début de tableau, les données étant obligatoirement ajoutées à sa suite, comme ca tout s'actualise facilement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je vais commencer a être un peu lourd et je m'en excuse...
Ca marche très bien, je t'en remercie vivement!
Mais (désolé :( ) je cherche à appliquer cette formule dans une feuille différente de celle ou le tableau est mis.
J'ai essayer d'ajouter un argument à ma fonction, Sheet as Worksheet, et de mettre Sheet.Select mais aucune modification..
Désolé je suis vraiment débutant
Ca marche très bien, je t'en remercie vivement!
Mais (désolé :( ) je cherche à appliquer cette formule dans une feuille différente de celle ou le tableau est mis.
J'ai essayer d'ajouter un argument à ma fonction, Sheet as Worksheet, et de mettre Sheet.Select mais aucune modification..
Désolé je suis vraiment débutant
eljojo_e
Messages postés
1155
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
14 octobre 2022
153
Modifié par eljojo_e le 11/07/2012 à 11:25
Modifié par eljojo_e le 11/07/2012 à 11:25
Essaye ca :
Par contre, la formule sera composé comme ca : =compter("valuer";cellule;"Feuille")
Si tu ne renseigne pas la "feuille", la formule marche pas.
Function compteur(name As String, cel, feuille) 'cel : tu clique sur la cellule ou tu veu que ca commence If feuille = "" Or IsNull(feuille) Then feuil = ActiveSheet.name Else feuil = feuille End If b = Left(cel.Address, 2) c = cel.Row Do While (b & c <> "") Sheets(feuil).Range(cel.Address).Select If Sheets(feuil).Range(b & c).Value = name Then compteur = compteur + 1 End If c = c + 1 If Sheets(feuil).Range(b & c).Value = "" Then Exit Function Loop End Function
Par contre, la formule sera composé comme ca : =compter("valuer";cellule;"Feuille")
Si tu ne renseigne pas la "feuille", la formule marche pas.
eljojo_e
Messages postés
1155
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
14 octobre 2022
153
11 juil. 2012 à 11:35
11 juil. 2012 à 11:35
Non ^^ à la place de "Test" tu met le nom de la feuille où se situe les tableaux
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
11 juil. 2012 à 11:41
11 juil. 2012 à 11:41
Bonjour
essaies
essaies
Function compter_occurence(mot As String, cell_dep As Range) As Integer Dim lig_dep As Integer, col As Integer, der_lig As Integer lig_dep = cell_dep.Row col = cell_dep.Column der_lig = cell_dep.End(xlDown).Row compter_occurence = Application.CountIf(Range(Cells(lig_dep), Cells(der_lig, col)), mot) End Function
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
11 juil. 2012 à 11:43
11 juil. 2012 à 11:43
je n'avais pas rafraichi, je n'ai donc pas vu la question de la feuille, je regarde
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 11/07/2012 à 12:07
Modifié par michel_m le 11/07/2012 à 12:07
avec le parametre autre feuille
Ta formule semble marcher pour le premier tableau, pas pour le deuxième :$
j'avais testé, imagine toi et j'avais signalé que je n'avais tout lu , faute d'avoir rafraichi
Merci pour le temps passé
Function compter_occurence(onglet As String, mot As String, cell_dep As Range) As Integer Dim lig_dep As Integer, col As Integer, der_lig As Integer onglet = Left(onglet, Len(onglet) - 1) lig_dep = cell_dep.Row col = cell_dep.Column der_lig = cell_dep.End(xlDown).Row With Sheets(onglet) compter_occurence = Application.CountIf(.Range(.Cells(lig_dep), .Cells(der_lig, col)), mot) End With End Function
Ta formule semble marcher pour le premier tableau, pas pour le deuxième :$
j'avais testé, imagine toi et j'avais signalé que je n'avais tout lu , faute d'avoir rafraichi
Merci pour le temps passé