selection d'une collone en fonction d'un libellé

  • Initiateur de la discussion Reeaz
  • Date de début
R

Reeaz

Guest
Bonjour,

J'ai une feuille de calcul avec des libelles sur les collonnes.
Par exemple je voudrais créer une macro qui me recherche sur le document le libellé suivant : "Emetteur" et s'il la trouve qui me selectionne la collone entière qui va avec.

Si qqun a une idée ce serait sympa.

Merci
Reeaz
 
A

Alain

Guest
Bonjour,


Tu peux essayer avec le code ci-dessous :


Sub Nommage()
ActiveSheet.UsedRange.Select
For Each c In Selection
If c.Value = "Emetteur" Then
c.EntireColumn.Name = "Emetteur"
End If
Next
End Sub


@+
 
A

Alain

Guest
Rebonjour,


Je crois que j'ai mal lu ta question.

Le bon code est :

Sub Nommage()
ActiveSheet.UsedRange.Select
For Each c In Selection
If c.Value = "Emetteur" Then
c.EntireColumn.select
exit for
End If
Next
End Sub
 
R

Reeaz

Guest
Bonjour Alain,
Merci de me répondre, mais je me suis mal exprimé tout à l'heure.
En afit, j'ai une collonne, je voudrais repérer un certain nombre de termes sur cette collonne et si ce terme apparaît, supprimer la ligne complète (même si le terme apparaît plusieurs fois ds la collonne, donc suppression de plusieurs lignes).
J'ai commencé par ca mais ca marche pas:

Sub Nommage()

Columns("F:F").Select
'ActiveSheet.UsedRange.Select

For Each c In Selection

If c.Value = " REVENU 4" Then
c.Select
Selection.EntireRow.Delete

If c.Value = " TRESORERIE" Then
c.select
c.EntireRow.Delete

Exit For
End If
Next

End Sub


Pourriez vous m'aider?
Merci
 
@

@Christophe@

Guest
Bonjour Reeaz

Essaye ceci:


Option Explicit

Sub DelCouleur()
Dim Cell As Range

For Each Cell In Range("A:A")
If Cell.Value = "REVENU 4" Or Cell.Value = "TRESORERIE" Then
Cell.ClearContents
End If
Next Cell

Sheets("Feuil1").Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub



Tient moi au courant,

@Christophe@
 
A

Alain

Guest
Rebonjour,



J'ai modifié le code de @Christophe@, essayes comme çà :


Option Explicit

Sub DelCouleur()
Dim Cell As Range

For Each Cell In Range("A:A")
If Cell.Value = "REVENU 4" Or Cell.Value = "TRESORERIE" Then
Cell.EntireRow.delete
End If
Next Cell
End Sub


Si la colonne de recherche n'est pas la colonne A, il suffit de remplacer "A:A" par la lettre de ta colonne.

@+
 
@

@Christophe@

Guest
Re

Erreur les amis, erreur

Pour Reeaz, cela supprime la ligne entière crois moi, mais a la fin du code avec la ligne suivant:

Sheets("Feuil1").Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete

Dans laquelle tu remplace le numéro de collone, pour F :
Sheets("Feuil1").Columns(6).SpecialCells(xlCellTypeBlanks).EntireRow.Delete

Pour Alain

Le code est bon, et ta modif supprimera la ligne, oui, mais dès la ligne supprimer la boucle saut un ligne, puisque dès que tu supprime tous monte d'une ligne

Exemple:

Si tu as

Revenu
Autre
REvenu
Autre
Tresorerie
Autre

Cela marchera, mais essaye avec

Revenu
Revenu
Autre
Revenu
Tresorerie
Revenu
Autre

Tu verras que la, tous n'est pas supprimer

ce qui est logique

@Christophe@
 
R

Reeaz

Guest
En fait ca ne marche pas:
Voici mon code,peut etre que vous y verrez plus clair:

Sub Line1()

Dim Cell As Range

For Each Cell In Range("F:F")
If Cell.Value = "GENERALI REVENU 4" Or Cell.Value = "GENERALI TRESORERIE" _
Or Cell.Value = " EURO 3-5 ANS BIS" _
Or Cell.Value = " EURO 5-7 ANS" _
Or Cell.Value = " EURO 7-10 ANS" _
Or Cell.Value = " EURO ACTION" _
Or Cell.Value = " INVESTISSEMENT" _
Or Cell.Value = " EURO 3-5 ANS" _
Or Cell.Value = " AM EURO BONDS FUND" _
Or Cell.Value = " AM EURO LIQUIDITY" _
Or Cell.Value = " AMBITION" _
Then
Cell.Select
Selection.EntireRow.Delete

End If
Next Cell

Sheets("Feuil1").Columns(6).SpecialCells(xlCellTypeBlanks).EntireRow.Delete

End Sub


Ca en supprime certains mais yan a d'autres qui restent!
 
@

@Christophe@

Guest
Re

Normal Reeaz, il faut lire le code qu'on te donne et le modifie de la même façon, essaye plutôt comme cela:

Sub Line1()

Dim Cell As Range

For Each Cell In Range("F:F")
If Cell.Value = "GENERALI REVENU 4" Or Cell.Value = "GENERALI TRESORERIE" _
Or Cell.Value = " EURO 3-5 ANS BIS" _
Or Cell.Value = " EURO 5-7 ANS" _
Or Cell.Value = " EURO 7-10 ANS" _
Or Cell.Value = " EURO ACTION" _
Or Cell.Value = " INVESTISSEMENT" _
Or Cell.Value = " EURO 3-5 ANS" _
Or Cell.Value = " AM EURO BONDS FUND" _
Or Cell.Value = " AM EURO LIQUIDITY" _
Or Cell.Value = " AMBITION" Then
Cell.ClearContents
End If
Next Cell

Sheets("Feuil1").Columns(6).SpecialCells(xlCellTypeBlanks).EntireRow.Delete

End Sub

Bon weekend

@Christophe@
 

Discussions similaires

Statistiques des forums

Discussions
312 844
Messages
2 092 759
Membres
105 528
dernier inscrit
GPGA45