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
docm
Bonjour.
Sub CompterEtRemplacer()
mavaleur1 = Chr(10) MaValeur2 = " "
Range("a1").Select
Set Plage = Cells.Find(mavaleur1)
While Not Plage Is Nothing Plage.Select nbreDeCellules = nbreDeCellules + 1
debut = 1 a = ActiveCell.Value b = InStr(debut, a, mavaleur1) While b > 0 NbreRetourChariot = NbreRetourChariot + 1 debut = b + 1 b = InStr(debut, a, mavaleur1) Wend
While Not Plage Is Nothing
Plage.Select
nbreDeCellules = nbreDeCellules + 1
debut = 1
a = ActiveCell.Value
b = InStr(debut, a, mavaleur1)
While b > 0
NbreRetourChariot = NbreRetourChariot + 1
debut = b + 1
b = InStr(debut, a, mavaleur1)
Wend
While Not Plage Is Nothing Plage.Select nbreDeCellules = nbreDeCellules + 1
debut = 1 a = ActiveCell.Value b = InStr(debut, a, mavaleur1) While b > 0 NbreRetourChariot = NbreRetourChariot + 1 debut = b + 1 b = InStr(debut, a, mavaleur1) Wend
Bonjour, tu peux aussi essayer cette sub qui évite de balyer toute ta feuille
Sub retour_chariot() ActiveCell.SpecialCells(xlLastCell).Select a = ActiveCell.Column b = ActiveCell.Row Set Sele = Sheets(1).Range(Cells(1, 1), Cells(b, a)) With Selection .HorizontalAlignment = xlGeneral .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With For Each c In Sele If c.Value = Chr(10) Then c.Value = " " n = n + 1 End If Next Range("a1").Select MsgBox n End Sub -- Cordialement JP25
"Jérémy" a écrit dans le message de news:
Bonjour à tous!!
J'ai un programme qui remplace les retours chariots par des espaces dans une feuille Excel (Voir ci-dessous)
Mais je voudrais, une fois le programme terminé, le nombre de retour chariot trouvés dans la feuille à l'aide d'un msgbox par exemple.
Bonjour, tu peux aussi essayer cette sub qui évite de balyer toute ta
feuille
Sub retour_chariot()
ActiveCell.SpecialCells(xlLastCell).Select
a = ActiveCell.Column
b = ActiveCell.Row
Set Sele = Sheets(1).Range(Cells(1, 1), Cells(b, a))
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
For Each c In Sele
If c.Value = Chr(10) Then
c.Value = " "
n = n + 1
End If
Next
Range("a1").Select
MsgBox n
End Sub
--
Cordialement
JP25 NoSpam-jpmonnier@tele2.fr
"Jérémy" <vilou1@hotmail.com> a écrit dans le message de news:
1188292014.952951.201070@k79g2000hse.googlegroups.com...
Bonjour à tous!!
J'ai un programme qui remplace les retours chariots par des espaces
dans une feuille Excel (Voir ci-dessous)
Mais je voudrais, une fois le programme terminé, le nombre de retour
chariot trouvés dans la feuille à l'aide d'un msgbox par exemple.
Bonjour, tu peux aussi essayer cette sub qui évite de balyer toute ta feuille
Sub retour_chariot() ActiveCell.SpecialCells(xlLastCell).Select a = ActiveCell.Column b = ActiveCell.Row Set Sele = Sheets(1).Range(Cells(1, 1), Cells(b, a)) With Selection .HorizontalAlignment = xlGeneral .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With For Each c In Sele If c.Value = Chr(10) Then c.Value = " " n = n + 1 End If Next Range("a1").Select MsgBox n End Sub -- Cordialement JP25
"Jérémy" a écrit dans le message de news:
Bonjour à tous!!
J'ai un programme qui remplace les retours chariots par des espaces dans une feuille Excel (Voir ci-dessous)
Mais je voudrais, une fois le programme terminé, le nombre de retour chariot trouvés dans la feuille à l'aide d'un msgbox par exemple.
Si tu écris ceci dans une cellule de la feuille, tu devrais obtenir le nombre de cellules avec un retour à la ligne Car(10) =NB.SI(A2:F10;"*" & CAR(10) & "*")
Si tu utilises l'objet "WorksheetFunction" de Application pour obtenir la fonction de la feuille de calcul dans la fenêtre du code VBA
la ligne de code équivalente devrait être : MsgBox Application.WorksheetFunction.CountA(Range("A2:F10"), "*" & Chr(10) & "*") exécuter sur une feuille vierge, la fonction retourne 1 et non pas 0 quelqu'un a une explication ?
Pour les fins de l'expérience : (sur une feuille vierge)
Insère la formule en A1 En B1, tu insères du texte avec un retour à la ligne
La formule =1 la ligne de code = 2
Si tu ajoutes une valeur en D1 sans retour à la ligne la formule = 1 la ligne de code = 3
Le résultat est celui attendu ?
Y-a-t-il quelqu'un sur ce forum qui a une explication ?
Si tu écris ceci dans une cellule de la feuille, tu devrais obtenir
le nombre de cellules avec un retour à la ligne Car(10)
=NB.SI(A2:F10;"*" & CAR(10) & "*")
Si tu utilises l'objet "WorksheetFunction" de Application pour
obtenir la fonction de la feuille de calcul dans la fenêtre du code VBA
la ligne de code équivalente devrait être :
MsgBox Application.WorksheetFunction.CountA(Range("A2:F10"), "*" & Chr(10) & "*")
exécuter sur une feuille vierge, la fonction retourne 1 et non pas 0
quelqu'un a une explication ?
Pour les fins de l'expérience : (sur une feuille vierge)
Insère la formule en A1
En B1, tu insères du texte avec un retour à la ligne
La formule =1
la ligne de code = 2
Si tu ajoutes une valeur en D1 sans retour à la ligne
la formule = 1
la ligne de code = 3
Le résultat est celui attendu ?
Y-a-t-il quelqu'un sur ce forum qui a une explication ?
Si tu écris ceci dans une cellule de la feuille, tu devrais obtenir le nombre de cellules avec un retour à la ligne Car(10) =NB.SI(A2:F10;"*" & CAR(10) & "*")
Si tu utilises l'objet "WorksheetFunction" de Application pour obtenir la fonction de la feuille de calcul dans la fenêtre du code VBA
la ligne de code équivalente devrait être : MsgBox Application.WorksheetFunction.CountA(Range("A2:F10"), "*" & Chr(10) & "*") exécuter sur une feuille vierge, la fonction retourne 1 et non pas 0 quelqu'un a une explication ?
Pour les fins de l'expérience : (sur une feuille vierge)
Insère la formule en A1 En B1, tu insères du texte avec un retour à la ligne
La formule =1 la ligne de code = 2
Si tu ajoutes une valeur en D1 sans retour à la ligne la formule = 1 la ligne de code = 3
Le résultat est celui attendu ?
Y-a-t-il quelqu'un sur ce forum qui a une explication ?
docm
Bonjour.
Je crois que tu as mis CountA en lieu et place de CountIF
docm
"MichDenis" a écrit dans le message de news:
Si tu écris ceci dans une cellule de la feuille, tu devrais obtenir le nombre de cellules avec un retour à la ligne Car(10) =NB.SI(A2:F10;"*" & CAR(10) & "*")
Si tu utilises l'objet "WorksheetFunction" de Application pour obtenir la fonction de la feuille de calcul dans la fenêtre du code VBA
la ligne de code équivalente devrait être : MsgBox Application.WorksheetFunction.CountA(Range("A2:F10"), "*" & Chr(10) & "*") exécuter sur une feuille vierge, la fonction retourne 1 et non pas 0 quelqu'un a une explication ?
Pour les fins de l'expérience : (sur une feuille vierge)
Insère la formule en A1 En B1, tu insères du texte avec un retour à la ligne
La formule =1 la ligne de code = 2
Si tu ajoutes une valeur en D1 sans retour à la ligne la formule = 1 la ligne de code = 3
Le résultat est celui attendu ?
Y-a-t-il quelqu'un sur ce forum qui a une explication ?
Bonjour.
Je crois que tu as mis CountA en lieu et place de CountIF
docm
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
uXXWoKX6HHA.3900@TK2MSFTNGP02.phx.gbl...
Si tu écris ceci dans une cellule de la feuille, tu devrais obtenir
le nombre de cellules avec un retour à la ligne Car(10)
=NB.SI(A2:F10;"*" & CAR(10) & "*")
Si tu utilises l'objet "WorksheetFunction" de Application pour
obtenir la fonction de la feuille de calcul dans la fenêtre du code VBA
la ligne de code équivalente devrait être :
MsgBox Application.WorksheetFunction.CountA(Range("A2:F10"), "*" & Chr(10)
& "*")
exécuter sur une feuille vierge, la fonction retourne 1 et non pas 0
quelqu'un a une explication ?
Pour les fins de l'expérience : (sur une feuille vierge)
Insère la formule en A1
En B1, tu insères du texte avec un retour à la ligne
La formule =1
la ligne de code = 2
Si tu ajoutes une valeur en D1 sans retour à la ligne
la formule = 1
la ligne de code = 3
Le résultat est celui attendu ?
Y-a-t-il quelqu'un sur ce forum qui a une explication ?
Je crois que tu as mis CountA en lieu et place de CountIF
docm
"MichDenis" a écrit dans le message de news:
Si tu écris ceci dans une cellule de la feuille, tu devrais obtenir le nombre de cellules avec un retour à la ligne Car(10) =NB.SI(A2:F10;"*" & CAR(10) & "*")
Si tu utilises l'objet "WorksheetFunction" de Application pour obtenir la fonction de la feuille de calcul dans la fenêtre du code VBA
la ligne de code équivalente devrait être : MsgBox Application.WorksheetFunction.CountA(Range("A2:F10"), "*" & Chr(10) & "*") exécuter sur une feuille vierge, la fonction retourne 1 et non pas 0 quelqu'un a une explication ?
Pour les fins de l'expérience : (sur une feuille vierge)
Insère la formule en A1 En B1, tu insères du texte avec un retour à la ligne
La formule =1 la ligne de code = 2
Si tu ajoutes une valeur en D1 sans retour à la ligne la formule = 1 la ligne de code = 3
Le résultat est celui attendu ?
Y-a-t-il quelqu'un sur ce forum qui a une explication ?
MichDenis
Merci Docm,
Tu as mis le doigt sur le bobo !
Il y a des jours comme ça où c'est plus difficile !
;-))
"docm" a écrit dans le message de news: Bonjour.
Je crois que tu as mis CountA en lieu et place de CountIF
docm
"MichDenis" a écrit dans le message de news:
Si tu écris ceci dans une cellule de la feuille, tu devrais obtenir le nombre de cellules avec un retour à la ligne Car(10) =NB.SI(A2:F10;"*" & CAR(10) & "*")
Si tu utilises l'objet "WorksheetFunction" de Application pour obtenir la fonction de la feuille de calcul dans la fenêtre du code VBA
la ligne de code équivalente devrait être : MsgBox Application.WorksheetFunction.CountA(Range("A2:F10"), "*" & Chr(10) & "*") exécuter sur une feuille vierge, la fonction retourne 1 et non pas 0 quelqu'un a une explication ?
Pour les fins de l'expérience : (sur une feuille vierge)
Insère la formule en A1 En B1, tu insères du texte avec un retour à la ligne
La formule =1 la ligne de code = 2
Si tu ajoutes une valeur en D1 sans retour à la ligne la formule = 1 la ligne de code = 3
Le résultat est celui attendu ?
Y-a-t-il quelqu'un sur ce forum qui a une explication ?
Merci Docm,
Tu as mis le doigt sur le bobo !
Il y a des jours comme ça où c'est plus difficile !
;-))
"docm" <docm@nomail.ca> a écrit dans le message de news: OXEjE9Y6HHA.2380@TK2MSFTNGP02.phx.gbl...
Bonjour.
Je crois que tu as mis CountA en lieu et place de CountIF
docm
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
uXXWoKX6HHA.3900@TK2MSFTNGP02.phx.gbl...
Si tu écris ceci dans une cellule de la feuille, tu devrais obtenir
le nombre de cellules avec un retour à la ligne Car(10)
=NB.SI(A2:F10;"*" & CAR(10) & "*")
Si tu utilises l'objet "WorksheetFunction" de Application pour
obtenir la fonction de la feuille de calcul dans la fenêtre du code VBA
la ligne de code équivalente devrait être :
MsgBox Application.WorksheetFunction.CountA(Range("A2:F10"), "*" & Chr(10)
& "*")
exécuter sur une feuille vierge, la fonction retourne 1 et non pas 0
quelqu'un a une explication ?
Pour les fins de l'expérience : (sur une feuille vierge)
Insère la formule en A1
En B1, tu insères du texte avec un retour à la ligne
La formule =1
la ligne de code = 2
Si tu ajoutes une valeur en D1 sans retour à la ligne
la formule = 1
la ligne de code = 3
Le résultat est celui attendu ?
Y-a-t-il quelqu'un sur ce forum qui a une explication ?
Il y a des jours comme ça où c'est plus difficile !
;-))
"docm" a écrit dans le message de news: Bonjour.
Je crois que tu as mis CountA en lieu et place de CountIF
docm
"MichDenis" a écrit dans le message de news:
Si tu écris ceci dans une cellule de la feuille, tu devrais obtenir le nombre de cellules avec un retour à la ligne Car(10) =NB.SI(A2:F10;"*" & CAR(10) & "*")
Si tu utilises l'objet "WorksheetFunction" de Application pour obtenir la fonction de la feuille de calcul dans la fenêtre du code VBA
la ligne de code équivalente devrait être : MsgBox Application.WorksheetFunction.CountA(Range("A2:F10"), "*" & Chr(10) & "*") exécuter sur une feuille vierge, la fonction retourne 1 et non pas 0 quelqu'un a une explication ?
Pour les fins de l'expérience : (sur une feuille vierge)
Insère la formule en A1 En B1, tu insères du texte avec un retour à la ligne
La formule =1 la ligne de code = 2
Si tu ajoutes une valeur en D1 sans retour à la ligne la formule = 1 la ligne de code = 3
Le résultat est celui attendu ?
Y-a-t-il quelqu'un sur ce forum qui a une explication ?