Rechercher la premiere cellule dans une colonne ayant comme 1ere lettre G
8 réponses
Alex
Bonjour =E0 tous,
J'ai une base de donn=E9es, que je dois diviser en 4 parties. J'ai donc
proc=E9d=E9 =E0 la copie de ma feuille en 4 exemplaires. Sur la premiere
feuille en colonne A, je ne veux que les donnees dont la 1ere lettre
de texte est compris entre A et F, et supprimer toutes les lignes dont
la 1ere lettre de la cellule commence de G =E0 Z. la m=EAme chose pour les
autres copies de feuille, mais avec des lettres diff=E9rentes, pour
exemple, le deuxieme onglet je voudrais conserver uniquement les
lignes avec les lettres G =E0 L, et supprimer les lignes avec AF et M =E0
Z.
J'ai tent=E9 de combiner les fonctions RECHERCHER et LEFT, mais cela ne
fonctionne pas.
Quelqu'un aurait il la solution =E0 mon probl=E8me.
Par avance merci pour vos r=E9ponses.
Bien cordialement.
Alex
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
Alex
Re bonjour à tous,
Pour info, j'avais ecrit ceci :
Columns("A:A").Select Dim Cellule As Range
For Each Cellule In Selection If Left(Cellule, 1) <> "A" Or Left(Cellule, 1) <> "B" Or Left(Cellule, 1) <> "C" Or Left(Cellule, 1) <> "D" Or Left(Cellule, 1) <> "E" Or Left(Cellule, 1) <> "F" Then Cellule.Rows.EntireRow.Delete End If Next Cellule
Cela ne fonctionne pas et en plus je suis obliger de stopper la macro sinon elle tourne sans fin ???
Merci encore de votre aide. Cordialement. Alex
Re bonjour à tous,
Pour info, j'avais ecrit ceci :
Columns("A:A").Select
Dim Cellule As Range
For Each Cellule In Selection
If Left(Cellule, 1) <> "A" Or Left(Cellule, 1) <> "B" Or
Left(Cellule, 1) <> "C" Or Left(Cellule, 1) <> "D" Or Left(Cellule, 1)
<> "E" Or Left(Cellule, 1) <> "F" Then
Cellule.Rows.EntireRow.Delete
End If
Next Cellule
Cela ne fonctionne pas et en plus je suis obliger de stopper la macro
sinon elle tourne sans fin ???
For Each Cellule In Selection If Left(Cellule, 1) <> "A" Or Left(Cellule, 1) <> "B" Or Left(Cellule, 1) <> "C" Or Left(Cellule, 1) <> "D" Or Left(Cellule, 1) <> "E" Or Left(Cellule, 1) <> "F" Then Cellule.Rows.EntireRow.Delete End If Next Cellule
Cela ne fonctionne pas et en plus je suis obliger de stopper la macro sinon elle tourne sans fin ???
Merci encore de votre aide. Cordialement. Alex
MichD
Bonjour,
Utilise le filtre automatique.
La première ligne de tes données est une ligne d'étiquette Tu sélectionnes la colonne à partir de laquelle tu veux appliquer les conditions conduisant à la suppression des lignes de ta base de données
A ) Sur la première feuille en colonne A, je ne veux que les données dont la 1ere lettre de texte est compris entre A et F ***Tu choisis comme critère de ton filtre personnalisé : Plus grand ou égale à G comme critère Seules les lignes à supprimer demeureront visibles. Tu sélectionnes la plage de résultat moins la ligne de titre Menu Édition / Atteindre / cellules / options : Cellules visibles seulement et tu supprimes..
B ) la 1ere lettre de la cellule commence de G à Z. Tu reprends le filtre automatique (personnaliser) critère : Plus grand ou égal à F ET Plus petit ou égal à Z et tu répètes le même processus pour supprimer les lignes visibles.
Quelques minutes, et tu auras le résultat attendu. On peut en faire une macro... mais si c'est seulement pour une occasion, ça prend moins de temps de le faire manuellement que d'écrire la macro...
MichD -------------------------------------------- "Alex" a écrit dans le message de groupe de discussion :
Bonjour à tous,
J'ai une base de données, que je dois diviser en 4 parties. J'ai donc procédé à la copie de ma feuille en 4 exemplaires. Sur la première feuille en colonne A, je ne veux que les données dont la 1ere lettre de texte est compris entre A et F, et supprimer toutes les lignes dont la 1ere lettre de la cellule commence de G à Z. la même chose pour les autres copies de feuille, mais avec des lettres différentes, pour exemple, le deuxieme onglet je voudrais conserver uniquement les lignes avec les lettres G à L, et supprimer les lignes avec AF et M à Z. J'ai tenté de combiner les fonctions RECHERCHER et LEFT, mais cela ne fonctionne pas. Quelqu'un aurait il la solution à mon problème. Par avance merci pour vos réponses. Bien cordialement. Alex
Bonjour,
Utilise le filtre automatique.
La première ligne de tes données est une ligne d'étiquette
Tu sélectionnes la colonne à partir de laquelle tu veux appliquer les conditions
conduisant à la suppression des lignes de ta base de données
A ) Sur la première feuille en colonne A, je ne veux que les
données dont la 1ere lettre de texte est compris entre A et F
***Tu choisis comme critère de ton filtre personnalisé :
Plus grand ou égale à G comme critère
Seules les lignes à supprimer demeureront visibles.
Tu sélectionnes la plage de résultat moins la ligne de titre
Menu Édition / Atteindre / cellules / options : Cellules visibles seulement
et tu supprimes..
B ) la 1ere lettre de la cellule commence de G à Z.
Tu reprends le filtre automatique (personnaliser)
critère : Plus grand ou égal à F ET Plus petit ou égal à Z
et tu répètes le même processus pour supprimer les lignes visibles.
Quelques minutes, et tu auras le résultat attendu.
On peut en faire une macro... mais si c'est seulement pour une occasion,
ça prend moins de temps de le faire manuellement que d'écrire la macro...
MichD
--------------------------------------------
"Alex" a écrit dans le message de groupe de discussion :
5d8c16b8-f585-4d5c-8a12-95c217819854@d28g2000yqf.googlegroups.com...
Bonjour à tous,
J'ai une base de données, que je dois diviser en 4 parties. J'ai donc
procédé à la copie de ma feuille en 4 exemplaires. Sur la première
feuille en colonne A, je ne veux que les données dont la 1ere lettre
de texte est compris entre A et F, et supprimer toutes les lignes dont
la 1ere lettre de la cellule commence de G à Z. la même chose pour les
autres copies de feuille, mais avec des lettres différentes, pour
exemple, le deuxieme onglet je voudrais conserver uniquement les
lignes avec les lettres G à L, et supprimer les lignes avec AF et M à
Z.
J'ai tenté de combiner les fonctions RECHERCHER et LEFT, mais cela ne
fonctionne pas.
Quelqu'un aurait il la solution à mon problème.
Par avance merci pour vos réponses.
Bien cordialement.
Alex
La première ligne de tes données est une ligne d'étiquette Tu sélectionnes la colonne à partir de laquelle tu veux appliquer les conditions conduisant à la suppression des lignes de ta base de données
A ) Sur la première feuille en colonne A, je ne veux que les données dont la 1ere lettre de texte est compris entre A et F ***Tu choisis comme critère de ton filtre personnalisé : Plus grand ou égale à G comme critère Seules les lignes à supprimer demeureront visibles. Tu sélectionnes la plage de résultat moins la ligne de titre Menu Édition / Atteindre / cellules / options : Cellules visibles seulement et tu supprimes..
B ) la 1ere lettre de la cellule commence de G à Z. Tu reprends le filtre automatique (personnaliser) critère : Plus grand ou égal à F ET Plus petit ou égal à Z et tu répètes le même processus pour supprimer les lignes visibles.
Quelques minutes, et tu auras le résultat attendu. On peut en faire une macro... mais si c'est seulement pour une occasion, ça prend moins de temps de le faire manuellement que d'écrire la macro...
MichD -------------------------------------------- "Alex" a écrit dans le message de groupe de discussion :
Bonjour à tous,
J'ai une base de données, que je dois diviser en 4 parties. J'ai donc procédé à la copie de ma feuille en 4 exemplaires. Sur la première feuille en colonne A, je ne veux que les données dont la 1ere lettre de texte est compris entre A et F, et supprimer toutes les lignes dont la 1ere lettre de la cellule commence de G à Z. la même chose pour les autres copies de feuille, mais avec des lettres différentes, pour exemple, le deuxieme onglet je voudrais conserver uniquement les lignes avec les lettres G à L, et supprimer les lignes avec AF et M à Z. J'ai tenté de combiner les fonctions RECHERCHER et LEFT, mais cela ne fonctionne pas. Quelqu'un aurait il la solution à mon problème. Par avance merci pour vos réponses. Bien cordialement. Alex
FFO
On 2 mai, 13:06, Alex wrote:
Re bonjour à tous,
Pour info, j'avais ecrit ceci :
Columns("A:A").Select Dim Cellule As Range
For Each Cellule In Selection If Left(Cellule, 1) <> "A" Or Left(Cellule, 1) <> "B" Or Left(Cellule, 1) <> "C" Or Left(Cellule, 1) <> "D" Or Left(Cellule, 1) <> "E" Or Left(Cellule, 1) <> "F" Then Cellule.Rows.EntireRow.Delete End If Next Cellule
Cela ne fonctionne pas et en plus je suis obliger de stopper la macro sinon elle tourne sans fin ???
Merci encore de votre aide. Cordialement. Alex
Salut à toi
Ce bout de code devrait faire :
For Each Cellule In Selection If Left(Cellule, 1) <> "A" And Left(Cellule, 1) <> "B" And Left(Cellule, 1) <> "C" And Left(Cellule, 1) <> "D" And Left(Cellule, 1) <> "E" And Left(Cellule, 1) <> "F" Then Cellule.Clear n = n + 1 End If Next Cellule If n > 0 Then Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete End If
Attention si tu veux supprimer toutes les lignes dont la 1° lettre de la donnée colonne A n'est pas comprise entre A et F ce n'est pas l'opérateur "Or" qui faut utiliser mais "And" dans cette ligne de code :
If Left(Cellule, 1) <> "A" And Left(Cellule, 1) <> "B" And Left(Cellule, 1) <> "C" And Left(Cellule, 1) <> "D" And Left(Cellule, 1) <> "E" And Left(Cellule, 1) <> "F" Then
Fais des essais et dis moi !!!!!
On 2 mai, 13:06, Alex <ale...@orange.fr> wrote:
Re bonjour à tous,
Pour info, j'avais ecrit ceci :
Columns("A:A").Select
Dim Cellule As Range
For Each Cellule In Selection
If Left(Cellule, 1) <> "A" Or Left(Cellule, 1) <> "B" Or
Left(Cellule, 1) <> "C" Or Left(Cellule, 1) <> "D" Or Left(Cellule, 1)
<> "E" Or Left(Cellule, 1) <> "F" Then
Cellule.Rows.EntireRow.Delete
End If
Next Cellule
Cela ne fonctionne pas et en plus je suis obliger de stopper la macro
sinon elle tourne sans fin ???
Merci encore de votre aide.
Cordialement.
Alex
Salut à toi
Ce bout de code devrait faire :
For Each Cellule In Selection
If Left(Cellule, 1) <> "A" And Left(Cellule, 1) <> "B" And
Left(Cellule, 1) <> "C" And Left(Cellule, 1) <> "D" And Left(Cellule,
1) <> "E" And Left(Cellule, 1) <> "F" Then
Cellule.Clear
n = n + 1
End If
Next Cellule
If n > 0 Then
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End If
Attention si tu veux supprimer toutes les lignes dont la 1° lettre de
la donnée colonne A n'est pas comprise entre A et F ce n'est pas
l'opérateur "Or" qui faut utiliser mais "And" dans cette ligne de
code :
If Left(Cellule, 1) <> "A" And Left(Cellule, 1) <> "B" And
Left(Cellule, 1) <> "C" And Left(Cellule, 1) <> "D" And Left(Cellule,
1) <> "E" And Left(Cellule, 1) <> "F" Then
For Each Cellule In Selection If Left(Cellule, 1) <> "A" Or Left(Cellule, 1) <> "B" Or Left(Cellule, 1) <> "C" Or Left(Cellule, 1) <> "D" Or Left(Cellule, 1) <> "E" Or Left(Cellule, 1) <> "F" Then Cellule.Rows.EntireRow.Delete End If Next Cellule
Cela ne fonctionne pas et en plus je suis obliger de stopper la macro sinon elle tourne sans fin ???
Merci encore de votre aide. Cordialement. Alex
Salut à toi
Ce bout de code devrait faire :
For Each Cellule In Selection If Left(Cellule, 1) <> "A" And Left(Cellule, 1) <> "B" And Left(Cellule, 1) <> "C" And Left(Cellule, 1) <> "D" And Left(Cellule, 1) <> "E" And Left(Cellule, 1) <> "F" Then Cellule.Clear n = n + 1 End If Next Cellule If n > 0 Then Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete End If
Attention si tu veux supprimer toutes les lignes dont la 1° lettre de la donnée colonne A n'est pas comprise entre A et F ce n'est pas l'opérateur "Or" qui faut utiliser mais "And" dans cette ligne de code :
If Left(Cellule, 1) <> "A" And Left(Cellule, 1) <> "B" And Left(Cellule, 1) <> "C" And Left(Cellule, 1) <> "D" And Left(Cellule, 1) <> "E" And Left(Cellule, 1) <> "F" Then
Fais des essais et dis moi !!!!!
FFO
On 2 mai, 13:38, FFO wrote:
On 2 mai, 13:06, Alex wrote:
> Re bonjour à tous,
> Pour info, j'avais ecrit ceci :
> Columns("A:A").Select > Dim Cellule As Range
> For Each Cellule In Selection > If Left(Cellule, 1) <> "A" Or Left(Cellule, 1) <> "B" O r > Left(Cellule, 1) <> "C" Or Left(Cellule, 1) <> "D" Or Left(Cellule, 1) > <> "E" Or Left(Cellule, 1) <> "F" Then > Cellule.Rows.EntireRow.Delete > End If > Next Cellule
> Cela ne fonctionne pas et en plus je suis obliger de stopper la macro > sinon elle tourne sans fin ???
> Merci encore de votre aide. > Cordialement. > Alex
Salut à toi
Ce bout de code devrait faire :
For Each Cellule In Selection If Left(Cellule, 1) <> "A" And Left(Cellule, 1) <> "B" An d Left(Cellule, 1) <> "C" And Left(Cellule, 1) <> "D" And Left(Cellule, 1) <> "E" And Left(Cellule, 1) <> "F" Then Cellule.Clear n = n + 1 End If Next Cellule If n > 0 Then Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete End If
Attention si tu veux supprimer toutes les lignes dont la 1° lettre de la donnée colonne A n'est pas comprise entre A et F ce n'est pas l'opérateur "Or" qui faut utiliser mais "And" dans cette ligne de code :
If Left(Cellule, 1) <> "A" And Left(Cellule, 1) <> "B" And Left(Cellule, 1) <> "C" And Left(Cellule, 1) <> "D" And Left(Cellule, 1) <> "E" And Left(Cellule, 1) <> "F" Then
Fais des essais et dis moi !!!!!- Masquer le texte des messages précé dents -
- Afficher le texte des messages précédents -
Rebonjours à toi
Une petite suggestion pour alléger l'écriture de tes conditions
Au lieu de mettre :
If Left(Cellule, 1) <> "A" And Left(Cellule, 1) <> "B" And Left(Cellule, 1) <> "C" And Left(Cellule, 1) <> "D" And Left(Cellule, 1) <> "E" And Left(Cellule, 1) <> "F" Then
Mets plutôt :
If "ABCDEF" Like "*" & Left(Cellule, 1) & "*" = False Then
C'est nettement plus simple et au résultat identique
Fais des essais et dis moi !!!!!!
On 2 mai, 13:38, FFO <francois.for...@wanadoo.fr> wrote:
On 2 mai, 13:06, Alex <ale...@orange.fr> wrote:
> Re bonjour à tous,
> Pour info, j'avais ecrit ceci :
> Columns("A:A").Select
> Dim Cellule As Range
> For Each Cellule In Selection
> If Left(Cellule, 1) <> "A" Or Left(Cellule, 1) <> "B" O r
> Left(Cellule, 1) <> "C" Or Left(Cellule, 1) <> "D" Or Left(Cellule, 1)
> <> "E" Or Left(Cellule, 1) <> "F" Then
> Cellule.Rows.EntireRow.Delete
> End If
> Next Cellule
> Cela ne fonctionne pas et en plus je suis obliger de stopper la macro
> sinon elle tourne sans fin ???
> Merci encore de votre aide.
> Cordialement.
> Alex
Salut à toi
Ce bout de code devrait faire :
For Each Cellule In Selection
If Left(Cellule, 1) <> "A" And Left(Cellule, 1) <> "B" An d
Left(Cellule, 1) <> "C" And Left(Cellule, 1) <> "D" And Left(Cellule,
1) <> "E" And Left(Cellule, 1) <> "F" Then
Cellule.Clear
n = n + 1
End If
Next Cellule
If n > 0 Then
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End If
Attention si tu veux supprimer toutes les lignes dont la 1° lettre de
la donnée colonne A n'est pas comprise entre A et F ce n'est pas
l'opérateur "Or" qui faut utiliser mais "And" dans cette ligne de
code :
If Left(Cellule, 1) <> "A" And Left(Cellule, 1) <> "B" And
Left(Cellule, 1) <> "C" And Left(Cellule, 1) <> "D" And Left(Cellule,
1) <> "E" And Left(Cellule, 1) <> "F" Then
Fais des essais et dis moi !!!!!- Masquer le texte des messages précé dents -
- Afficher le texte des messages précédents -
Rebonjours à toi
Une petite suggestion pour alléger l'écriture de tes conditions
Au lieu de mettre :
If Left(Cellule, 1) <> "A" And Left(Cellule, 1) <> "B" And
Left(Cellule, 1) <> "C" And Left(Cellule, 1) <> "D" And Left(Cellule,
1) <> "E" And Left(Cellule, 1) <> "F" Then
Mets plutôt :
If "ABCDEF" Like "*" & Left(Cellule, 1) & "*" = False Then
C'est nettement plus simple et au résultat identique
> For Each Cellule In Selection > If Left(Cellule, 1) <> "A" Or Left(Cellule, 1) <> "B" O r > Left(Cellule, 1) <> "C" Or Left(Cellule, 1) <> "D" Or Left(Cellule, 1) > <> "E" Or Left(Cellule, 1) <> "F" Then > Cellule.Rows.EntireRow.Delete > End If > Next Cellule
> Cela ne fonctionne pas et en plus je suis obliger de stopper la macro > sinon elle tourne sans fin ???
> Merci encore de votre aide. > Cordialement. > Alex
Salut à toi
Ce bout de code devrait faire :
For Each Cellule In Selection If Left(Cellule, 1) <> "A" And Left(Cellule, 1) <> "B" An d Left(Cellule, 1) <> "C" And Left(Cellule, 1) <> "D" And Left(Cellule, 1) <> "E" And Left(Cellule, 1) <> "F" Then Cellule.Clear n = n + 1 End If Next Cellule If n > 0 Then Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete End If
Attention si tu veux supprimer toutes les lignes dont la 1° lettre de la donnée colonne A n'est pas comprise entre A et F ce n'est pas l'opérateur "Or" qui faut utiliser mais "And" dans cette ligne de code :
If Left(Cellule, 1) <> "A" And Left(Cellule, 1) <> "B" And Left(Cellule, 1) <> "C" And Left(Cellule, 1) <> "D" And Left(Cellule, 1) <> "E" And Left(Cellule, 1) <> "F" Then
Fais des essais et dis moi !!!!!- Masquer le texte des messages précé dents -
- Afficher le texte des messages précédents -
Rebonjours à toi
Une petite suggestion pour alléger l'écriture de tes conditions
Au lieu de mettre :
If Left(Cellule, 1) <> "A" And Left(Cellule, 1) <> "B" And Left(Cellule, 1) <> "C" And Left(Cellule, 1) <> "D" And Left(Cellule, 1) <> "E" And Left(Cellule, 1) <> "F" Then
Mets plutôt :
If "ABCDEF" Like "*" & Left(Cellule, 1) & "*" = False Then
C'est nettement plus simple et au résultat identique
Fais des essais et dis moi !!!!!!
Alex
Re bonjour à tous,
Merci pour vos réponses. J'ai retenu la solution de FFO, qui fonctionne très bien. Encore un grand merci Cordialement. Alex
Re bonjour à tous,
Merci pour vos réponses. J'ai retenu la solution de FFO, qui
fonctionne très bien.
Encore un grand merci
Cordialement.
Alex
Merci pour vos réponses. J'ai retenu la solution de FFO, qui fonctionne très bien. Encore un grand merci Cordialement. Alex
Jacquouille
Bonjour Denis
En bouclant sur col A, ne pourrait-on deleter toutes les lignes dont le premier car de gauche ne serait pas compris entre car(65) et car(70) ? Ce n'est pas faisable ?
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "MichD" a écrit dans le message de groupe de discussion : ipm4rf$trk$
Bonjour,
Utilise le filtre automatique.
La première ligne de tes données est une ligne d'étiquette Tu sélectionnes la colonne à partir de laquelle tu veux appliquer les conditions conduisant à la suppression des lignes de ta base de données
A ) Sur la première feuille en colonne A, je ne veux que les données dont la 1ere lettre de texte est compris entre A et F ***Tu choisis comme critère de ton filtre personnalisé : Plus grand ou égale à G comme critère Seules les lignes à supprimer demeureront visibles. Tu sélectionnes la plage de résultat moins la ligne de titre Menu Édition / Atteindre / cellules / options : Cellules visibles seulement et tu supprimes..
B ) la 1ere lettre de la cellule commence de G à Z. Tu reprends le filtre automatique (personnaliser) critère : Plus grand ou égal à F ET Plus petit ou égal à Z et tu répètes le même processus pour supprimer les lignes visibles.
Quelques minutes, et tu auras le résultat attendu. On peut en faire une macro... mais si c'est seulement pour une occasion, ça prend moins de temps de le faire manuellement que d'écrire la macro...
MichD -------------------------------------------- "Alex" a écrit dans le message de groupe de discussion :
Bonjour à tous,
J'ai une base de données, que je dois diviser en 4 parties. J'ai donc procédé à la copie de ma feuille en 4 exemplaires. Sur la première feuille en colonne A, je ne veux que les données dont la 1ere lettre de texte est compris entre A et F, et supprimer toutes les lignes dont la 1ere lettre de la cellule commence de G à Z. la même chose pour les autres copies de feuille, mais avec des lettres différentes, pour exemple, le deuxieme onglet je voudrais conserver uniquement les lignes avec les lettres G à L, et supprimer les lignes avec AF et M à Z. J'ai tenté de combiner les fonctions RECHERCHER et LEFT, mais cela ne fonctionne pas. Quelqu'un aurait il la solution à mon problème. Par avance merci pour vos réponses. Bien cordialement. Alex
Bonjour Denis
En bouclant sur col A, ne pourrait-on deleter toutes les lignes dont le
premier car de gauche ne serait pas compris entre car(65) et car(70) ?
Ce n'est pas faisable ?
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
ipm4rf$trk$1@speranza.aioe.org...
Bonjour,
Utilise le filtre automatique.
La première ligne de tes données est une ligne d'étiquette
Tu sélectionnes la colonne à partir de laquelle tu veux appliquer les
conditions
conduisant à la suppression des lignes de ta base de données
A ) Sur la première feuille en colonne A, je ne veux que les
données dont la 1ere lettre de texte est compris entre A et F
***Tu choisis comme critère de ton filtre personnalisé :
Plus grand ou égale à G comme critère
Seules les lignes à supprimer demeureront visibles.
Tu sélectionnes la plage de résultat moins la ligne de titre
Menu Édition / Atteindre / cellules / options : Cellules visibles
seulement
et tu supprimes..
B ) la 1ere lettre de la cellule commence de G à Z.
Tu reprends le filtre automatique (personnaliser)
critère : Plus grand ou égal à F ET Plus petit ou égal à Z
et tu répètes le même processus pour supprimer les lignes visibles.
Quelques minutes, et tu auras le résultat attendu.
On peut en faire une macro... mais si c'est seulement pour une occasion,
ça prend moins de temps de le faire manuellement que d'écrire la macro...
MichD
--------------------------------------------
"Alex" a écrit dans le message de groupe de discussion :
5d8c16b8-f585-4d5c-8a12-95c217819854@d28g2000yqf.googlegroups.com...
Bonjour à tous,
J'ai une base de données, que je dois diviser en 4 parties. J'ai donc
procédé à la copie de ma feuille en 4 exemplaires. Sur la première
feuille en colonne A, je ne veux que les données dont la 1ere lettre
de texte est compris entre A et F, et supprimer toutes les lignes dont
la 1ere lettre de la cellule commence de G à Z. la même chose pour les
autres copies de feuille, mais avec des lettres différentes, pour
exemple, le deuxieme onglet je voudrais conserver uniquement les
lignes avec les lettres G à L, et supprimer les lignes avec AF et M à
Z.
J'ai tenté de combiner les fonctions RECHERCHER et LEFT, mais cela ne
fonctionne pas.
Quelqu'un aurait il la solution à mon problème.
Par avance merci pour vos réponses.
Bien cordialement.
Alex
En bouclant sur col A, ne pourrait-on deleter toutes les lignes dont le premier car de gauche ne serait pas compris entre car(65) et car(70) ? Ce n'est pas faisable ?
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "MichD" a écrit dans le message de groupe de discussion : ipm4rf$trk$
Bonjour,
Utilise le filtre automatique.
La première ligne de tes données est une ligne d'étiquette Tu sélectionnes la colonne à partir de laquelle tu veux appliquer les conditions conduisant à la suppression des lignes de ta base de données
A ) Sur la première feuille en colonne A, je ne veux que les données dont la 1ere lettre de texte est compris entre A et F ***Tu choisis comme critère de ton filtre personnalisé : Plus grand ou égale à G comme critère Seules les lignes à supprimer demeureront visibles. Tu sélectionnes la plage de résultat moins la ligne de titre Menu Édition / Atteindre / cellules / options : Cellules visibles seulement et tu supprimes..
B ) la 1ere lettre de la cellule commence de G à Z. Tu reprends le filtre automatique (personnaliser) critère : Plus grand ou égal à F ET Plus petit ou égal à Z et tu répètes le même processus pour supprimer les lignes visibles.
Quelques minutes, et tu auras le résultat attendu. On peut en faire une macro... mais si c'est seulement pour une occasion, ça prend moins de temps de le faire manuellement que d'écrire la macro...
MichD -------------------------------------------- "Alex" a écrit dans le message de groupe de discussion :
Bonjour à tous,
J'ai une base de données, que je dois diviser en 4 parties. J'ai donc procédé à la copie de ma feuille en 4 exemplaires. Sur la première feuille en colonne A, je ne veux que les données dont la 1ere lettre de texte est compris entre A et F, et supprimer toutes les lignes dont la 1ere lettre de la cellule commence de G à Z. la même chose pour les autres copies de feuille, mais avec des lettres différentes, pour exemple, le deuxieme onglet je voudrais conserver uniquement les lignes avec les lettres G à L, et supprimer les lignes avec AF et M à Z. J'ai tenté de combiner les fonctions RECHERCHER et LEFT, mais cela ne fonctionne pas. Quelqu'un aurait il la solution à mon problème. Par avance merci pour vos réponses. Bien cordialement. Alex
MichD
Bonjour,
Un exemple de macro avec une boucle dans laquelle tu énumères les lettres dont la première lettre du texte contenu dans la plage de cellules débute et que tu veux conserver !
Le seul hic c'est le temps de procéder si la plage est grande. L'utilisation d'un filtre élaboré dans cette situation est de loin plus rapide et efficace...
Sub test() Dim Rg As Range, NbRows As Long, A As Long With Sheet1 Set Rg = .Range("A1:A" & .Range("A65536").End(xlUp).Row) End With
With Rg NbRows = .Rows.Count For A = NbRows To 1 Step -1 Select Case UCase(Left(Rg(A), 1)) Case Is = "A", "B", "C", "D", "F" Case Else Rg(A).EntireRow.Delete End Select Next End With End Sub
Un exemple de macro avec une boucle dans laquelle tu
énumères les lettres dont la première lettre du texte contenu
dans la plage de cellules débute et que tu veux conserver !
Le seul hic c'est le temps de procéder si la plage est grande.
L'utilisation d'un filtre élaboré dans cette situation est de loin
plus rapide et efficace...
Sub test()
Dim Rg As Range, NbRows As Long, A As Long
With Sheet1
Set Rg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With
With Rg
NbRows = .Rows.Count
For A = NbRows To 1 Step -1
Select Case UCase(Left(Rg(A), 1))
Case Is = "A", "B", "C", "D", "F"
Case Else
Rg(A).EntireRow.Delete
End Select
Next
End With
End Sub
Un exemple de macro avec une boucle dans laquelle tu énumères les lettres dont la première lettre du texte contenu dans la plage de cellules débute et que tu veux conserver !
Le seul hic c'est le temps de procéder si la plage est grande. L'utilisation d'un filtre élaboré dans cette situation est de loin plus rapide et efficace...
Sub test() Dim Rg As Range, NbRows As Long, A As Long With Sheet1 Set Rg = .Range("A1:A" & .Range("A65536").End(xlUp).Row) End With
With Rg NbRows = .Rows.Count For A = NbRows To 1 Step -1 Select Case UCase(Left(Rg(A), 1)) Case Is = "A", "B", "C", "D", "F" Case Else Rg(A).EntireRow.Delete End Select Next End With End Sub
Bonsoir Denis Ben voilà encore une belle petite macro grâce à laquelle j'ai appris case Is ...else Merci et à bientôt
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "MichD" a écrit dans le message de groupe de discussion : ipm91v$98g$
Bonjour,
Un exemple de macro avec une boucle dans laquelle tu énumères les lettres dont la première lettre du texte contenu dans la plage de cellules débute et que tu veux conserver !
Le seul hic c'est le temps de procéder si la plage est grande. L'utilisation d'un filtre élaboré dans cette situation est de loin plus rapide et efficace...
Sub test() Dim Rg As Range, NbRows As Long, A As Long With Sheet1 Set Rg = .Range("A1:A" & .Range("A65536").End(xlUp).Row) End With
With Rg NbRows = .Rows.Count For A = NbRows To 1 Step -1 Select Case UCase(Left(Rg(A), 1)) Case Is = "A", "B", "C", "D", "F" Case Else Rg(A).EntireRow.Delete End Select Next End With End Sub
Bonsoir Denis
Ben voilà encore une belle petite macro grâce à laquelle j'ai appris case Is
...else
Merci et à bientôt
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
ipm91v$98g$1@speranza.aioe.org...
Bonjour,
Un exemple de macro avec une boucle dans laquelle tu
énumères les lettres dont la première lettre du texte contenu
dans la plage de cellules débute et que tu veux conserver !
Le seul hic c'est le temps de procéder si la plage est grande.
L'utilisation d'un filtre élaboré dans cette situation est de loin
plus rapide et efficace...
Sub test()
Dim Rg As Range, NbRows As Long, A As Long
With Sheet1
Set Rg = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With
With Rg
NbRows = .Rows.Count
For A = NbRows To 1 Step -1
Select Case UCase(Left(Rg(A), 1))
Case Is = "A", "B", "C", "D", "F"
Case Else
Rg(A).EntireRow.Delete
End Select
Next
End With
End Sub
Bonsoir Denis Ben voilà encore une belle petite macro grâce à laquelle j'ai appris case Is ...else Merci et à bientôt
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "MichD" a écrit dans le message de groupe de discussion : ipm91v$98g$
Bonjour,
Un exemple de macro avec une boucle dans laquelle tu énumères les lettres dont la première lettre du texte contenu dans la plage de cellules débute et que tu veux conserver !
Le seul hic c'est le temps de procéder si la plage est grande. L'utilisation d'un filtre élaboré dans cette situation est de loin plus rapide et efficace...
Sub test() Dim Rg As Range, NbRows As Long, A As Long With Sheet1 Set Rg = .Range("A1:A" & .Range("A65536").End(xlUp).Row) End With
With Rg NbRows = .Rows.Count For A = NbRows To 1 Step -1 Select Case UCase(Left(Rg(A), 1)) Case Is = "A", "B", "C", "D", "F" Case Else Rg(A).EntireRow.Delete End Select Next End With End Sub