N
NYghost
Guest
Salut la communauté,
Meilleurs voeux pour 2010..
Alors voila, je chipote toujours de manière très basique avec les macros et j'aimerai améliorer 2-3 trucs dans une macro que j'ai créé mais la je bloque!
Tout d'abord, voici le code en question:
3 choses sont à améliorer:
- Mon range actuel (A1:M1000) est statique, or, parfois j'ai un tableau de 500 lignes à traiter, parfois il s'agit d'un tableau de 5000 lignes, je dois donc modifier manuellement. Est-il possible de dimensionner ce range dynamiquement en fonction de l'occupation des cellules?
- Assez proche du but précédent, j'aimerai simplement numéroter les lignes remplies dans la colonne N
- Enfin pour le dernier, une explication s'impose: comme vu pouvez le voir, je cherche une série de mot afin d'effacer les lignes. Je pense qu'il serait mieux de chercher le seul et unique mot que je veux garder, a savoir "level" et supprimer le reste, est-ce possible?
Un grand merci d'avance à tous pour votre aide..
NYghost
Meilleurs voeux pour 2010..
Alors voila, je chipote toujours de manière très basique avec les macros et j'aimerai améliorer 2-3 trucs dans une macro que j'ai créé mais la je bloque!
Tout d'abord, voici le code en question:
Code:
Sub test()
Dim varcheck As String
Dim varbat As String
Dim varboil As String
Dim varfreq As String
For Each Cellule In Range("A1:M1000")
On Error Resume Next
varcheck = "check"
varbat = "battery"
varboil = "boil"
varfreq = "frequency"
varaccess = "access"
varvers = "version"
Set wordcheck = Cells.Find(What:=varcheck)
If Not wordcheck Is Nothing Then
wordcheck.Select
ActiveCell.EntireRow.Select
Selection.Delete Shift:=xlUp
End If
Set wordbat = Cells.Find(What:=varbat)
If Not wordbat Is Nothing Then
wordbat.Select
ActiveCell.EntireRow.Select
Selection.Delete Shift:=xlUp
End If
Set wordboil = Cells.Find(What:=varboil)
If Not wordboil Is Nothing Then
wordboil.Select
ActiveCell.EntireRow.Select
Selection.Delete Shift:=xlUp
End If
Set wordfreq = Cells.Find(What:=varfreq)
If Not wordfreq Is Nothing Then
wordfreq.Select
ActiveCell.EntireRow.Select
Selection.Delete Shift:=xlUp
End If
Set wordaccess = Cells.Find(What:=varaccess)
If Not wordaccess Is Nothing Then
wordaccess.Select
ActiveCell.EntireRow.Select
Selection.Delete Shift:=xlUp
End If
Set wordvers = Cells.Find(What:=varvers)
If Not wordvers Is Nothing Then
wordvers.Select
ActiveCell.EntireRow.Select
Selection.Delete Shift:=xlUp
End If
Next
End Sub
3 choses sont à améliorer:
- Mon range actuel (A1:M1000) est statique, or, parfois j'ai un tableau de 500 lignes à traiter, parfois il s'agit d'un tableau de 5000 lignes, je dois donc modifier manuellement. Est-il possible de dimensionner ce range dynamiquement en fonction de l'occupation des cellules?
- Assez proche du but précédent, j'aimerai simplement numéroter les lignes remplies dans la colonne N
- Enfin pour le dernier, une explication s'impose: comme vu pouvez le voir, je cherche une série de mot afin d'effacer les lignes. Je pense qu'il serait mieux de chercher le seul et unique mot que je veux garder, a savoir "level" et supprimer le reste, est-ce possible?
Un grand merci d'avance à tous pour votre aide..
NYghost