Sélectionner les cellules qui contiennent un caractère précis

  • Initiateur de la discussion Initiateur de la discussion glaine
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

G

glaine

Guest
Bonjour à tous,

Je voudrais construire une macros qui ne sélectionne que les lignes qui contiennent un caractère précis ";".
Je me suis lancé avec cela :
Code:
Sub trouv()
ActiveSheet.UsedRange.Columns(2).Select
cible = ";"
For Each Cell In Selection
If Not InStr(cible, Cell) = 0 Then
Cell.EntireRow.Select
Selection.Interior.ColorIndex = 6
Selection.Copy
Sheets.Add
ActiveSheet.Name = "essai"
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End If
Next
End Sub
Mon soucis est que cela ne fonctionne pas et que je ne vois pas comment sélectionner uniquement les cellules qui contiennent le point virgule.
Je glisse mon fichier d'exemple et espère avoir été le plus clair possible. Je remercie par avance les personnes pour toutes aides apportées.
Amicalement
 

Pièces jointes

Re : Sélectionner les cellules qui contiennent un caractère précis

Bonjour glaine, le forum,
Je n'ai pas très bien compris la demande. Est-ce que tu veux créer une feuille pour chaque ligne copiée? Parce que je pense que si tu mets
Sheets.Add
ActiveSheet.Name = "essai"

en boucle y aura un chevauchement de nom de feuille déjà..
 
Re : Sélectionner les cellules qui contiennent un caractère précis

Bonjour,
Pour répondre à ta question, il n'y aura pas de chevauchement. Je l'ai testé déjà en changeant
Code:
Cell.EntireRow.Select
par
Code:
ActiveSheet.UsedRange.Columns(2).Select
.
J'obtiens une feuille essai avec une copie exacte des premières données. Mon soucis est de sélectionner dans mon tableau toutes les cellules qui ont un ";" dans leurs valeurs. Merci pour tes remarques.
 
Re : Sélectionner les cellules qui contiennent un caractère précis

Re, j'ai bricolé une solution et ça a l'air de marcher, seulement elle crée la feuille "essai" une seule fois. A toi de voir glaine
Sub trouv()
'Ajout d'une unique feuille
Sheets.Add
ActiveSheet.Name = "essai"
Sheets("Copie de essai1").Activate

'Déterminer le nombre de lignes à parcourir dans la feuille Copie de essai1
Dim i As Long
Dim j As Long
Dim a As Long
Dim b As Long

i = Sheets("Copie de essai1").Range("B65536").End(xlUp).Row
For a = 1 To i
Sheets("Copie de essai1").Activate

If Range("B" & a).Value Like "*;*" Then

Cells(a, 2).EntireRow.Interior.ColorIndex = 6
Cells(a, 2).EntireRow.Copy

Sheets("essai").Activate
'Déterminer la dernière ligne libre de la feuille "essai"
j = Sheets("essai").Range("A65536").End(xlUp).Row
j = j + 1
Range("A" & j).Select
ActiveSheet.Paste
Application.CutCopyMode = False

End If
Next
Sheets("essai").Cells(1, 1).EntireRow.Delete
End Sub
 
Dernière modification par un modérateur:
Re : Sélectionner les cellules qui contiennent un caractère précis

En faite ta boucle n'a pas parcourue toutes les lignes, elle a copié une seule ligne c'est pour ça qu'il n'y a pas eu de chevauchements. Tu ne peux pas créer deux feuilles avec le même nom 🙂 J'ai mis la création de la feuille en dehors de la boucle comme tu l'as remarqué. Bonne continuation
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

J
Réponses
22
Affichages
3 K
jui42
J
D
Réponses
8
Affichages
1 K
Dynomax
D
N
  • Question Question
Réponses
5
Affichages
3 K
G
Réponses
2
Affichages
2 K
Gengiskhan
G
I
Réponses
7
Affichages
1 K
ISOSKI
I
M
Réponses
0
Affichages
969
Mosbacher
M
Retour