Bonjour à tous,
Soit une très grandes feuille Excel avec des cellules saisies (constantes),
de nombreuses formules et de nombreuses valeurs nulles.
Je souhaite compter dans une plage sélectionnée, toutes les cellules ayant
fait l'objet de saisies, donc en excluant les cellules comportant des
formules ou des valeurs nulles.
J'ai essayé d'écrire une macro sans succès. Quelqu'un peut-il me dépanner ?
Merci à tous et toutes
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
jb
La macro ci dessous colorie et compte les cellules modifiées au fur et à mesure de la saisie:
Ecrire dans l'événement Change de la feuille de calcul:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$K$1" Then ' compteur en K1 Target.Interior.ColorIndex = 3 ' colorie Range("k1") = Range("k1") + 1 ' compte End If End Sub
On peut délimiter le champ d'application en vérifiant le no de ligne et colonne de la cellule.
Cordialement JB
La macro ci dessous colorie et compte les cellules modifiées au fur et
à mesure de la saisie:
Ecrire dans l'événement Change de la feuille de calcul:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$K$1" Then ' compteur en K1
Target.Interior.ColorIndex = 3 ' colorie
Range("k1") = Range("k1") + 1 ' compte
End If
End Sub
On peut délimiter le champ d'application en vérifiant le no de ligne
et colonne de la cellule.
La macro ci dessous colorie et compte les cellules modifiées au fur et à mesure de la saisie:
Ecrire dans l'événement Change de la feuille de calcul:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$K$1" Then ' compteur en K1 Target.Interior.ColorIndex = 3 ' colorie Range("k1") = Range("k1") + 1 ' compte End If End Sub
On peut délimiter le champ d'application en vérifiant le no de ligne et colonne de la cellule.
Cordialement JB
Michir
Oui JB je te remercie de ta réponse, mais je souhaite compter des cellules comportant des constantes (donc à l'exclusion des formules et des zéros) dans une feuille déjà saisie. Ceci à des fins statistiques. La macro doit être accessible pour n'importe que classeur Merci
jb wrote:
La macro ci dessous colorie et compte les cellules modifiées au fur et à mesure de la saisie:
Ecrire dans l'événement Change de la feuille de calcul:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$K$1" Then ' compteur en K1 Target.Interior.ColorIndex = 3 ' colorie Range("k1") = Range("k1") + 1 ' compte End If End Sub
On peut délimiter le champ d'application en vérifiant le no de ligne et colonne de la cellule.
Cordialement JB
Oui JB je te remercie de ta réponse, mais je souhaite compter des cellules
comportant des constantes
(donc à l'exclusion des formules et des zéros) dans une feuille déjà saisie.
Ceci à des fins statistiques.
La macro doit être accessible pour n'importe que classeur
Merci
jb wrote:
La macro ci dessous colorie et compte les cellules modifiées au fur et
à mesure de la saisie:
Ecrire dans l'événement Change de la feuille de calcul:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$K$1" Then ' compteur en K1
Target.Interior.ColorIndex = 3 ' colorie
Range("k1") = Range("k1") + 1 ' compte
End If
End Sub
On peut délimiter le champ d'application en vérifiant le no de ligne
et colonne de la cellule.
Oui JB je te remercie de ta réponse, mais je souhaite compter des cellules comportant des constantes (donc à l'exclusion des formules et des zéros) dans une feuille déjà saisie. Ceci à des fins statistiques. La macro doit être accessible pour n'importe que classeur Merci
jb wrote:
La macro ci dessous colorie et compte les cellules modifiées au fur et à mesure de la saisie:
Ecrire dans l'événement Change de la feuille de calcul:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$K$1" Then ' compteur en K1 Target.Interior.ColorIndex = 3 ' colorie Range("k1") = Range("k1") + 1 ' compte End If End Sub
On peut délimiter le champ d'application en vérifiant le no de ligne et colonne de la cellule.
Cordialement JB
michdenis
Bonjour Michir,
Essaie ceci :
2 petites procédures selon que tu veuilles dénombrer seulement les constantes "Texte" ou "Texte et nombre"
Tu sélectionnes une plage de cellules et tu lances une des macro
'--------------------------- Sub CompterLesConstantesTexte()
Dim Rg As Range On Error Resume Next If TypeName(Selection) = "Range" Then Set Rg = Selection If Selection.Cells.Count > 1 Then MsgBox Rg.SpecialCells(xlCellTypeConstants, xlTextValues).Cells.Count _ & " cellules contiennent du texte." If Err <> 0 Then Err = 0 MsgBox "aucune constante dans cette plage." End If Else MsgBox "Au moins 2 cellules doivent être sélectionnées." End If End If
End Sub '---------------------------
Si tu veux dénombrer les cellules contenant du texte et des nombres, remplace cette ligne de code :
MsgBox Rg.SpecialCells(xlCellTypeConstants, xlTextValues).Cells.Count _ & " cellules contiennent du texte."
Par
MsgBox Rg.SpecialCells(xlCellTypeConstants, xlTextValues + xlNumbers).Cells.Count _ & " cellules contiennent soit du texte soit des nombres."
Salutations!
"Michir" a écrit dans le message de news: 43523828$0$7844$ Bonjour à tous, Soit une très grandes feuille Excel avec des cellules saisies (constantes), de nombreuses formules et de nombreuses valeurs nulles. Je souhaite compter dans une plage sélectionnée, toutes les cellules ayant fait l'objet de saisies, donc en excluant les cellules comportant des formules ou des valeurs nulles. J'ai essayé d'écrire une macro sans succès. Quelqu'un peut-il me dépanner ? Merci à tous et toutes
Bonjour Michir,
Essaie ceci :
2 petites procédures selon que tu veuilles dénombrer seulement les constantes "Texte" ou "Texte et nombre"
Tu sélectionnes une plage de cellules et tu lances une des macro
'---------------------------
Sub CompterLesConstantesTexte()
Dim Rg As Range
On Error Resume Next
If TypeName(Selection) = "Range" Then
Set Rg = Selection
If Selection.Cells.Count > 1 Then
MsgBox Rg.SpecialCells(xlCellTypeConstants, xlTextValues).Cells.Count _
& " cellules contiennent du texte."
If Err <> 0 Then
Err = 0
MsgBox "aucune constante dans cette plage."
End If
Else
MsgBox "Au moins 2 cellules doivent être sélectionnées."
End If
End If
End Sub
'---------------------------
Si tu veux dénombrer les cellules contenant du texte et des nombres, remplace cette ligne de code :
MsgBox Rg.SpecialCells(xlCellTypeConstants, xlTextValues).Cells.Count _
& " cellules contiennent du texte."
Par
MsgBox Rg.SpecialCells(xlCellTypeConstants, xlTextValues + xlNumbers).Cells.Count _
& " cellules contiennent soit du texte soit des nombres."
Salutations!
"Michir" <michir1789@wanadoo.fr> a écrit dans le message de news: 43523828$0$7844$8fcfb975@news.wanadoo.fr...
Bonjour à tous,
Soit une très grandes feuille Excel avec des cellules saisies (constantes),
de nombreuses formules et de nombreuses valeurs nulles.
Je souhaite compter dans une plage sélectionnée, toutes les cellules ayant
fait l'objet de saisies, donc en excluant les cellules comportant des
formules ou des valeurs nulles.
J'ai essayé d'écrire une macro sans succès. Quelqu'un peut-il me dépanner ?
Merci à tous et toutes
2 petites procédures selon que tu veuilles dénombrer seulement les constantes "Texte" ou "Texte et nombre"
Tu sélectionnes une plage de cellules et tu lances une des macro
'--------------------------- Sub CompterLesConstantesTexte()
Dim Rg As Range On Error Resume Next If TypeName(Selection) = "Range" Then Set Rg = Selection If Selection.Cells.Count > 1 Then MsgBox Rg.SpecialCells(xlCellTypeConstants, xlTextValues).Cells.Count _ & " cellules contiennent du texte." If Err <> 0 Then Err = 0 MsgBox "aucune constante dans cette plage." End If Else MsgBox "Au moins 2 cellules doivent être sélectionnées." End If End If
End Sub '---------------------------
Si tu veux dénombrer les cellules contenant du texte et des nombres, remplace cette ligne de code :
MsgBox Rg.SpecialCells(xlCellTypeConstants, xlTextValues).Cells.Count _ & " cellules contiennent du texte."
Par
MsgBox Rg.SpecialCells(xlCellTypeConstants, xlTextValues + xlNumbers).Cells.Count _ & " cellules contiennent soit du texte soit des nombres."
Salutations!
"Michir" a écrit dans le message de news: 43523828$0$7844$ Bonjour à tous, Soit une très grandes feuille Excel avec des cellules saisies (constantes), de nombreuses formules et de nombreuses valeurs nulles. Je souhaite compter dans une plage sélectionnée, toutes les cellules ayant fait l'objet de saisies, donc en excluant les cellules comportant des formules ou des valeurs nulles. J'ai essayé d'écrire une macro sans succès. Quelqu'un peut-il me dépanner ? Merci à tous et toutes
jb
Si tu veuxque la macro soit utilisable pour tout classeur, tu crée une barre d'outils et tu affecte la macro à un bouton. -Tu masque la feuille de calcul avec Fenêtre/Masquer -Tu masque le code (propriétés/VbAProject - Clic droit) -Tu sauvegarde le classeur (CompterConst.xls e.g.)
Sur un autre classeur, en cliquant sur le bouton de la barre d'outils, ce classeur sera chargé mais ne sera visible.
Sub je_compte() If Selection.Count < 1 Then Cells.Select End If Selection.SpecialCells(xlCellTypeConstants, 1).Select MsgBox Selection.Count End Sub
Tu peux ainsi te faire une barre d'outils utilitaires utilisable de tout classeur pour transformer une sélection en majuscule, nompropre, trier les onglets, créer un sommaire,...
Cordialement JB
Si tu veuxque la macro soit utilisable pour tout classeur, tu crée une
barre d'outils et tu affecte la macro à un bouton.
-Tu masque la feuille de calcul avec Fenêtre/Masquer
-Tu masque le code (propriétés/VbAProject - Clic droit)
-Tu sauvegarde le classeur (CompterConst.xls e.g.)
Sur un autre classeur, en cliquant sur le bouton de la barre d'outils,
ce classeur sera chargé mais ne sera visible.
Sub je_compte()
If Selection.Count < 1 Then
Cells.Select
End If
Selection.SpecialCells(xlCellTypeConstants, 1).Select
MsgBox Selection.Count
End Sub
Tu peux ainsi te faire une barre d'outils utilitaires utilisable de
tout classeur pour transformer une sélection en majuscule, nompropre,
trier les onglets, créer un sommaire,...
Si tu veuxque la macro soit utilisable pour tout classeur, tu crée une barre d'outils et tu affecte la macro à un bouton. -Tu masque la feuille de calcul avec Fenêtre/Masquer -Tu masque le code (propriétés/VbAProject - Clic droit) -Tu sauvegarde le classeur (CompterConst.xls e.g.)
Sur un autre classeur, en cliquant sur le bouton de la barre d'outils, ce classeur sera chargé mais ne sera visible.
Sub je_compte() If Selection.Count < 1 Then Cells.Select End If Selection.SpecialCells(xlCellTypeConstants, 1).Select MsgBox Selection.Count End Sub
Tu peux ainsi te faire une barre d'outils utilitaires utilisable de tout classeur pour transformer une sélection en majuscule, nompropre, trier les onglets, créer un sommaire,...
Cordialement JB
Michir
Parfait JB, Merci à toi Michel
jb wrote:
Si tu veuxque la macro soit utilisable pour tout classeur, tu crée une barre d'outils et tu affecte la macro à un bouton. -Tu masque la feuille de calcul avec Fenêtre/Masquer -Tu masque le code (propriétés/VbAProject - Clic droit) -Tu sauvegarde le classeur (CompterConst.xls e.g.)
Sur un autre classeur, en cliquant sur le bouton de la barre d'outils, ce classeur sera chargé mais ne sera visible.
Sub je_compte() If Selection.Count < 1 Then Cells.Select End If Selection.SpecialCells(xlCellTypeConstants, 1).Select MsgBox Selection.Count End Sub
Tu peux ainsi te faire une barre d'outils utilitaires utilisable de tout classeur pour transformer une sélection en majuscule, nompropre, trier les onglets, créer un sommaire,...
Cordialement JB
Parfait JB,
Merci à toi
Michel
jb wrote:
Si tu veuxque la macro soit utilisable pour tout classeur, tu crée une
barre d'outils et tu affecte la macro à un bouton.
-Tu masque la feuille de calcul avec Fenêtre/Masquer
-Tu masque le code (propriétés/VbAProject - Clic droit)
-Tu sauvegarde le classeur (CompterConst.xls e.g.)
Sur un autre classeur, en cliquant sur le bouton de la barre d'outils,
ce classeur sera chargé mais ne sera visible.
Sub je_compte()
If Selection.Count < 1 Then
Cells.Select
End If
Selection.SpecialCells(xlCellTypeConstants, 1).Select
MsgBox Selection.Count
End Sub
Tu peux ainsi te faire une barre d'outils utilitaires utilisable de
tout classeur pour transformer une sélection en majuscule, nompropre,
trier les onglets, créer un sommaire,...
Si tu veuxque la macro soit utilisable pour tout classeur, tu crée une barre d'outils et tu affecte la macro à un bouton. -Tu masque la feuille de calcul avec Fenêtre/Masquer -Tu masque le code (propriétés/VbAProject - Clic droit) -Tu sauvegarde le classeur (CompterConst.xls e.g.)
Sur un autre classeur, en cliquant sur le bouton de la barre d'outils, ce classeur sera chargé mais ne sera visible.
Sub je_compte() If Selection.Count < 1 Then Cells.Select End If Selection.SpecialCells(xlCellTypeConstants, 1).Select MsgBox Selection.Count End Sub
Tu peux ainsi te faire une barre d'outils utilitaires utilisable de tout classeur pour transformer une sélection en majuscule, nompropre, trier les onglets, créer un sommaire,...