Bonjour à toutes et tous,
Je me heurte très souvent au même problème et je ne trouve pas vraiment
quelque chose de satisfaisant dans les archives.
J'ai une feuille 1 avec un tableau contenant de nombreuses formules, je le
copie sur une seconde feuille (collage spécial - valeurs)dans laquelle, je
supprime des lignes qui sont vides en colonne A après les avoir mis à la
fin du tableau :
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cette ligne de code fonctionne la plupart du temps très bien et très très
rapidement.
Cependant, avec certains types de formules dans la feuille 1 et malgré le
collage spécial, cela ne fonctionne pas car il ne considère pas que les
cellules sont vides.
Exemple de formule qui génère cela mais il y en a beaucoup d'autres :
=SI(ET(E3<>E2;E3<>E4);D3;SI(ET(E3â;E3ä);"";SI(E3â;D3;"")))
Si j'efface ce qu'il y a dans les cellules (ou plutôt ce qu'il n'y a pas
car on ne voit rien), tout va bien.
On peut évidemment contourner ce problème en remplaçant dans la formule
les "" par 0 et en utilisant une autre manière de supprimer :
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 Then Rows(i).Delete
Next
End Sub
Mais la rapidité d'exécution laisse fortement à désirer. J'en ai tester de
nombreuses autres du même type et c'est pareil.
Quelqu'un a certainement déjà résolu ce problème ?
Merci de votre aide.
Jacques
Bonjour à toutes et tous,
Je me heurte très souvent au même problème et je ne trouve pas vraiment
quelque chose de satisfaisant dans les archives.
J'ai une feuille 1 avec un tableau contenant de nombreuses formules, je le
copie sur une seconde feuille (collage spécial - valeurs)dans laquelle, je
supprime des lignes qui sont vides en colonne A après les avoir mis à la
fin du tableau :
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cette ligne de code fonctionne la plupart du temps très bien et très très
rapidement.
Cependant, avec certains types de formules dans la feuille 1 et malgré le
collage spécial, cela ne fonctionne pas car il ne considère pas que les
cellules sont vides.
Exemple de formule qui génère cela mais il y en a beaucoup d'autres :
=SI(ET(E3<>E2;E3<>E4);D3;SI(ET(E3â;E3ä);"";SI(E3â;D3;"")))
Si j'efface ce qu'il y a dans les cellules (ou plutôt ce qu'il n'y a pas
car on ne voit rien), tout va bien.
On peut évidemment contourner ce problème en remplaçant dans la formule
les "" par 0 et en utilisant une autre manière de supprimer :
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 Then Rows(i).Delete
Next
End Sub
Mais la rapidité d'exécution laisse fortement à désirer. J'en ai tester de
nombreuses autres du même type et c'est pareil.
Quelqu'un a certainement déjà résolu ce problème ?
Merci de votre aide.
Jacques
Bonjour à toutes et tous,
Je me heurte très souvent au même problème et je ne trouve pas vraiment
quelque chose de satisfaisant dans les archives.
J'ai une feuille 1 avec un tableau contenant de nombreuses formules, je le
copie sur une seconde feuille (collage spécial - valeurs)dans laquelle, je
supprime des lignes qui sont vides en colonne A après les avoir mis à la
fin du tableau :
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cette ligne de code fonctionne la plupart du temps très bien et très très
rapidement.
Cependant, avec certains types de formules dans la feuille 1 et malgré le
collage spécial, cela ne fonctionne pas car il ne considère pas que les
cellules sont vides.
Exemple de formule qui génère cela mais il y en a beaucoup d'autres :
=SI(ET(E3<>E2;E3<>E4);D3;SI(ET(E3â;E3ä);"";SI(E3â;D3;"")))
Si j'efface ce qu'il y a dans les cellules (ou plutôt ce qu'il n'y a pas
car on ne voit rien), tout va bien.
On peut évidemment contourner ce problème en remplaçant dans la formule
les "" par 0 et en utilisant une autre manière de supprimer :
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 Then Rows(i).Delete
Next
End Sub
Mais la rapidité d'exécution laisse fortement à désirer. J'en ai tester de
nombreuses autres du même type et c'est pareil.
Quelqu'un a certainement déjà résolu ce problème ?
Merci de votre aide.
Jacques
Bonjour
essaie avec ceci
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
salutations
RaMa
"JacquesH" a écrit dans le message de
news: unm$Bonjour à toutes et tous,
Je me heurte très souvent au même problème et je ne trouve pas vraiment
quelque chose de satisfaisant dans les archives.
J'ai une feuille 1 avec un tableau contenant de nombreuses formules, je le
copie sur une seconde feuille (collage spécial - valeurs)dans laquelle, je
supprime des lignes qui sont vides en colonne A après les avoir mis à la
fin du tableau :
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cette ligne de code fonctionne la plupart du temps très bien et très très
rapidement.
Cependant, avec certains types de formules dans la feuille 1 et malgré le
collage spécial, cela ne fonctionne pas car il ne considère pas que les
cellules sont vides.
Exemple de formule qui génère cela mais il y en a beaucoup d'autres :
=SI(ET(E3<>E2;E3<>E4);D3;SI(ET(E3â;E3ä);"";SI(E3â;D3;"")))
Si j'efface ce qu'il y a dans les cellules (ou plutôt ce qu'il n'y a pas
car on ne voit rien), tout va bien.
On peut évidemment contourner ce problème en remplaçant dans la formule
les "" par 0 et en utilisant une autre manière de supprimer :
Mais la rapidité d'exécution laisse fortement à désirer. J'en ai tester de
nombreuses autres du même type et c'est pareil.
Quelqu'un a certainement déjà résolu ce problème ?
Merci de votre aide.
Jacques
Bonjour
essaie avec ceci
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
salutations
RaMa
"JacquesH" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: unm$p5WRFHA.2784@TK2MSFTNGP12.phx.gbl...
Bonjour à toutes et tous,
Je me heurte très souvent au même problème et je ne trouve pas vraiment
quelque chose de satisfaisant dans les archives.
J'ai une feuille 1 avec un tableau contenant de nombreuses formules, je le
copie sur une seconde feuille (collage spécial - valeurs)dans laquelle, je
supprime des lignes qui sont vides en colonne A après les avoir mis à la
fin du tableau :
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cette ligne de code fonctionne la plupart du temps très bien et très très
rapidement.
Cependant, avec certains types de formules dans la feuille 1 et malgré le
collage spécial, cela ne fonctionne pas car il ne considère pas que les
cellules sont vides.
Exemple de formule qui génère cela mais il y en a beaucoup d'autres :
=SI(ET(E3<>E2;E3<>E4);D3;SI(ET(E3â;E3ä);"";SI(E3â;D3;"")))
Si j'efface ce qu'il y a dans les cellules (ou plutôt ce qu'il n'y a pas
car on ne voit rien), tout va bien.
On peut évidemment contourner ce problème en remplaçant dans la formule
les "" par 0 et en utilisant une autre manière de supprimer :
Mais la rapidité d'exécution laisse fortement à désirer. J'en ai tester de
nombreuses autres du même type et c'est pareil.
Quelqu'un a certainement déjà résolu ce problème ?
Merci de votre aide.
Jacques
Bonjour
essaie avec ceci
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
salutations
RaMa
"JacquesH" a écrit dans le message de
news: unm$Bonjour à toutes et tous,
Je me heurte très souvent au même problème et je ne trouve pas vraiment
quelque chose de satisfaisant dans les archives.
J'ai une feuille 1 avec un tableau contenant de nombreuses formules, je le
copie sur une seconde feuille (collage spécial - valeurs)dans laquelle, je
supprime des lignes qui sont vides en colonne A après les avoir mis à la
fin du tableau :
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cette ligne de code fonctionne la plupart du temps très bien et très très
rapidement.
Cependant, avec certains types de formules dans la feuille 1 et malgré le
collage spécial, cela ne fonctionne pas car il ne considère pas que les
cellules sont vides.
Exemple de formule qui génère cela mais il y en a beaucoup d'autres :
=SI(ET(E3<>E2;E3<>E4);D3;SI(ET(E3â;E3ä);"";SI(E3â;D3;"")))
Si j'efface ce qu'il y a dans les cellules (ou plutôt ce qu'il n'y a pas
car on ne voit rien), tout va bien.
On peut évidemment contourner ce problème en remplaçant dans la formule
les "" par 0 et en utilisant une autre manière de supprimer :
Mais la rapidité d'exécution laisse fortement à désirer. J'en ai tester de
nombreuses autres du même type et c'est pareil.
Quelqu'un a certainement déjà résolu ce problème ?
Merci de votre aide.
Jacques
Bonjour et merci de t'intéresser à mon problème,
Dans mon code :
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 Then Rows(i).Delete
Next
End Sub
J'ai remplacé la seconde ligne par celle que tu proposes :
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
Malheureusement, il ne se passe absolument rien.
Je suppose que c'était censé améliorer la rapidité. Ce serait déjà très
bien.
En revanche, ce que j'aimerais surtout c'est regler la première partie du
problème : cellules vides qui ne sont pas vides.
JacquesBonjour
essaie avec ceci
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
salutations
RaMa
"JacquesH" a écrit dans le message
de news: unm$Bonjour à toutes et tous,
Je me heurte très souvent au même problème et je ne trouve pas vraiment
quelque chose de satisfaisant dans les archives.
J'ai une feuille 1 avec un tableau contenant de nombreuses formules, je
le copie sur une seconde feuille (collage spécial - valeurs)dans
laquelle, je supprime des lignes qui sont vides en colonne A après les
avoir mis à la fin du tableau :
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cette ligne de code fonctionne la plupart du temps très bien et très très
rapidement.
Cependant, avec certains types de formules dans la feuille 1 et malgré le
collage spécial, cela ne fonctionne pas car il ne considère pas que les
cellules sont vides.
Exemple de formule qui génère cela mais il y en a beaucoup d'autres :
=SI(ET(E3<>E2;E3<>E4);D3;SI(ET(E3â;E3ä);"";SI(E3â;D3;"")))
Si j'efface ce qu'il y a dans les cellules (ou plutôt ce qu'il n'y a pas
car on ne voit rien), tout va bien.
On peut évidemment contourner ce problème en remplaçant dans la formule
les "" par 0 et en utilisant une autre manière de supprimer :
Mais la rapidité d'exécution laisse fortement à désirer. J'en ai tester
de nombreuses autres du même type et c'est pareil.
Quelqu'un a certainement déjà résolu ce problème ?
Merci de votre aide.
Jacques
Bonjour et merci de t'intéresser à mon problème,
Dans mon code :
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 Then Rows(i).Delete
Next
End Sub
J'ai remplacé la seconde ligne par celle que tu proposes :
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
Malheureusement, il ne se passe absolument rien.
Je suppose que c'était censé améliorer la rapidité. Ce serait déjà très
bien.
En revanche, ce que j'aimerais surtout c'est regler la première partie du
problème : cellules vides qui ne sont pas vides.
Jacques
Bonjour
essaie avec ceci
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
salutations
RaMa
"JacquesH" <anonymous@discussions.microsoft.com> a écrit dans le message
de news: unm$p5WRFHA.2784@TK2MSFTNGP12.phx.gbl...
Bonjour à toutes et tous,
Je me heurte très souvent au même problème et je ne trouve pas vraiment
quelque chose de satisfaisant dans les archives.
J'ai une feuille 1 avec un tableau contenant de nombreuses formules, je
le copie sur une seconde feuille (collage spécial - valeurs)dans
laquelle, je supprime des lignes qui sont vides en colonne A après les
avoir mis à la fin du tableau :
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cette ligne de code fonctionne la plupart du temps très bien et très très
rapidement.
Cependant, avec certains types de formules dans la feuille 1 et malgré le
collage spécial, cela ne fonctionne pas car il ne considère pas que les
cellules sont vides.
Exemple de formule qui génère cela mais il y en a beaucoup d'autres :
=SI(ET(E3<>E2;E3<>E4);D3;SI(ET(E3â;E3ä);"";SI(E3â;D3;"")))
Si j'efface ce qu'il y a dans les cellules (ou plutôt ce qu'il n'y a pas
car on ne voit rien), tout va bien.
On peut évidemment contourner ce problème en remplaçant dans la formule
les "" par 0 et en utilisant une autre manière de supprimer :
Mais la rapidité d'exécution laisse fortement à désirer. J'en ai tester
de nombreuses autres du même type et c'est pareil.
Quelqu'un a certainement déjà résolu ce problème ?
Merci de votre aide.
Jacques
Bonjour et merci de t'intéresser à mon problème,
Dans mon code :
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 Then Rows(i).Delete
Next
End Sub
J'ai remplacé la seconde ligne par celle que tu proposes :
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
Malheureusement, il ne se passe absolument rien.
Je suppose que c'était censé améliorer la rapidité. Ce serait déjà très
bien.
En revanche, ce que j'aimerais surtout c'est regler la première partie du
problème : cellules vides qui ne sont pas vides.
JacquesBonjour
essaie avec ceci
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
salutations
RaMa
"JacquesH" a écrit dans le message
de news: unm$Bonjour à toutes et tous,
Je me heurte très souvent au même problème et je ne trouve pas vraiment
quelque chose de satisfaisant dans les archives.
J'ai une feuille 1 avec un tableau contenant de nombreuses formules, je
le copie sur une seconde feuille (collage spécial - valeurs)dans
laquelle, je supprime des lignes qui sont vides en colonne A après les
avoir mis à la fin du tableau :
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cette ligne de code fonctionne la plupart du temps très bien et très très
rapidement.
Cependant, avec certains types de formules dans la feuille 1 et malgré le
collage spécial, cela ne fonctionne pas car il ne considère pas que les
cellules sont vides.
Exemple de formule qui génère cela mais il y en a beaucoup d'autres :
=SI(ET(E3<>E2;E3<>E4);D3;SI(ET(E3â;E3ä);"";SI(E3â;D3;"")))
Si j'efface ce qu'il y a dans les cellules (ou plutôt ce qu'il n'y a pas
car on ne voit rien), tout va bien.
On peut évidemment contourner ce problème en remplaçant dans la formule
les "" par 0 et en utilisant une autre manière de supprimer :
Mais la rapidité d'exécution laisse fortement à désirer. J'en ai tester
de nombreuses autres du même type et c'est pareil.
Quelqu'un a certainement déjà résolu ce problème ?
Merci de votre aide.
Jacques
Sub JH()
i = 65536
Do While i > 2
For i = [a65536].End(xlUp).Row To 2 Step -1
If Len(Cells(i, 1)) = 0 Then
Rows(i).Delete
Exit For
End If
Next
Loop
End Sub
RaMa
"JacquesH" a écrit dans le message de
news:Bonjour et merci de t'intéresser à mon problème,
Dans mon code :
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 Then Rows(i).Delete
Next
End Sub
J'ai remplacé la seconde ligne par celle que tu proposes :
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
Malheureusement, il ne se passe absolument rien.
Je suppose que c'était censé améliorer la rapidité. Ce serait déjà très
bien.
En revanche, ce que j'aimerais surtout c'est regler la première partie du
problème : cellules vides qui ne sont pas vides.
JacquesBonjour
essaie avec ceci
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
salutations
RaMa
"JacquesH" a écrit dans le message
de news: unm$Bonjour à toutes et tous,
Je me heurte très souvent au même problème et je ne trouve pas vraiment
quelque chose de satisfaisant dans les archives.
J'ai une feuille 1 avec un tableau contenant de nombreuses formules, je
le copie sur une seconde feuille (collage spécial - valeurs)dans
laquelle, je supprime des lignes qui sont vides en colonne A après les
avoir mis à la fin du tableau :
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cette ligne de code fonctionne la plupart du temps très bien et très très
rapidement.
Cependant, avec certains types de formules dans la feuille 1 et malgré le
collage spécial, cela ne fonctionne pas car il ne considère pas que les
cellules sont vides.
Exemple de formule qui génère cela mais il y en a beaucoup d'autres :
=SI(ET(E3<>E2;E3<>E4);D3;SI(ET(E3â;E3ä);"";SI(E3â;D3;"")))
Si j'efface ce qu'il y a dans les cellules (ou plutôt ce qu'il n'y a pas
car on ne voit rien), tout va bien.
On peut évidemment contourner ce problème en remplaçant dans la formule
les "" par 0 et en utilisant une autre manière de supprimer :
Mais la rapidité d'exécution laisse fortement à désirer. J'en ai tester
de nombreuses autres du même type et c'est pareil.
Quelqu'un a certainement déjà résolu ce problème ?
Merci de votre aide.
Jacques
Sub JH()
i = 65536
Do While i > 2
For i = [a65536].End(xlUp).Row To 2 Step -1
If Len(Cells(i, 1)) = 0 Then
Rows(i).Delete
Exit For
End If
Next
Loop
End Sub
RaMa
"JacquesH" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: OP2JMVXRFHA.2132@TK2MSFTNGP14.phx.gbl...
Bonjour et merci de t'intéresser à mon problème,
Dans mon code :
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 Then Rows(i).Delete
Next
End Sub
J'ai remplacé la seconde ligne par celle que tu proposes :
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
Malheureusement, il ne se passe absolument rien.
Je suppose que c'était censé améliorer la rapidité. Ce serait déjà très
bien.
En revanche, ce que j'aimerais surtout c'est regler la première partie du
problème : cellules vides qui ne sont pas vides.
Jacques
Bonjour
essaie avec ceci
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
salutations
RaMa
"JacquesH" <anonymous@discussions.microsoft.com> a écrit dans le message
de news: unm$p5WRFHA.2784@TK2MSFTNGP12.phx.gbl...
Bonjour à toutes et tous,
Je me heurte très souvent au même problème et je ne trouve pas vraiment
quelque chose de satisfaisant dans les archives.
J'ai une feuille 1 avec un tableau contenant de nombreuses formules, je
le copie sur une seconde feuille (collage spécial - valeurs)dans
laquelle, je supprime des lignes qui sont vides en colonne A après les
avoir mis à la fin du tableau :
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cette ligne de code fonctionne la plupart du temps très bien et très très
rapidement.
Cependant, avec certains types de formules dans la feuille 1 et malgré le
collage spécial, cela ne fonctionne pas car il ne considère pas que les
cellules sont vides.
Exemple de formule qui génère cela mais il y en a beaucoup d'autres :
=SI(ET(E3<>E2;E3<>E4);D3;SI(ET(E3â;E3ä);"";SI(E3â;D3;"")))
Si j'efface ce qu'il y a dans les cellules (ou plutôt ce qu'il n'y a pas
car on ne voit rien), tout va bien.
On peut évidemment contourner ce problème en remplaçant dans la formule
les "" par 0 et en utilisant une autre manière de supprimer :
Mais la rapidité d'exécution laisse fortement à désirer. J'en ai tester
de nombreuses autres du même type et c'est pareil.
Quelqu'un a certainement déjà résolu ce problème ?
Merci de votre aide.
Jacques
Sub JH()
i = 65536
Do While i > 2
For i = [a65536].End(xlUp).Row To 2 Step -1
If Len(Cells(i, 1)) = 0 Then
Rows(i).Delete
Exit For
End If
Next
Loop
End Sub
RaMa
"JacquesH" a écrit dans le message de
news:Bonjour et merci de t'intéresser à mon problème,
Dans mon code :
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 Then Rows(i).Delete
Next
End Sub
J'ai remplacé la seconde ligne par celle que tu proposes :
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
Malheureusement, il ne se passe absolument rien.
Je suppose que c'était censé améliorer la rapidité. Ce serait déjà très
bien.
En revanche, ce que j'aimerais surtout c'est regler la première partie du
problème : cellules vides qui ne sont pas vides.
JacquesBonjour
essaie avec ceci
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
salutations
RaMa
"JacquesH" a écrit dans le message
de news: unm$Bonjour à toutes et tous,
Je me heurte très souvent au même problème et je ne trouve pas vraiment
quelque chose de satisfaisant dans les archives.
J'ai une feuille 1 avec un tableau contenant de nombreuses formules, je
le copie sur une seconde feuille (collage spécial - valeurs)dans
laquelle, je supprime des lignes qui sont vides en colonne A après les
avoir mis à la fin du tableau :
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cette ligne de code fonctionne la plupart du temps très bien et très très
rapidement.
Cependant, avec certains types de formules dans la feuille 1 et malgré le
collage spécial, cela ne fonctionne pas car il ne considère pas que les
cellules sont vides.
Exemple de formule qui génère cela mais il y en a beaucoup d'autres :
=SI(ET(E3<>E2;E3<>E4);D3;SI(ET(E3â;E3ä);"";SI(E3â;D3;"")))
Si j'efface ce qu'il y a dans les cellules (ou plutôt ce qu'il n'y a pas
car on ne voit rien), tout va bien.
On peut évidemment contourner ce problème en remplaçant dans la formule
les "" par 0 et en utilisant une autre manière de supprimer :
Mais la rapidité d'exécution laisse fortement à désirer. J'en ai tester
de nombreuses autres du même type et c'est pareil.
Quelqu'un a certainement déjà résolu ce problème ?
Merci de votre aide.
Jacques
Sub JH()
i = 65536
Do While i > 2
For i = [a65536].End(xlUp).Row To 2 Step -1
If Len(Cells(i, 1)) = 0 Then
Rows(i).Delete
Exit For
End If
Next
Loop
End Sub
RaMa
"JacquesH" a écrit dans le message
de news:Bonjour et merci de t'intéresser à mon problème,
Dans mon code :
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 Then Rows(i).Delete
Next
End Sub
J'ai remplacé la seconde ligne par celle que tu proposes :
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
Malheureusement, il ne se passe absolument rien.
Je suppose que c'était censé améliorer la rapidité. Ce serait déjà très
bien.
En revanche, ce que j'aimerais surtout c'est regler la première partie du
problème : cellules vides qui ne sont pas vides.
JacquesBonjour
essaie avec ceci
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
salutations
RaMa
"JacquesH" a écrit dans le message
de news: unm$Bonjour à toutes et tous,
Je me heurte très souvent au même problème et je ne trouve pas vraiment
quelque chose de satisfaisant dans les archives.
J'ai une feuille 1 avec un tableau contenant de nombreuses formules, je
le copie sur une seconde feuille (collage spécial - valeurs)dans
laquelle, je supprime des lignes qui sont vides en colonne A après les
avoir mis à la fin du tableau :
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cette ligne de code fonctionne la plupart du temps très bien et très
très rapidement.
Cependant, avec certains types de formules dans la feuille 1 et malgré
le collage spécial, cela ne fonctionne pas car il ne considère pas que
les cellules sont vides.
Exemple de formule qui génère cela mais il y en a beaucoup d'autres :
=SI(ET(E3<>E2;E3<>E4);D3;SI(ET(E3â;E3ä);"";SI(E3â;D3;"")))
Si j'efface ce qu'il y a dans les cellules (ou plutôt ce qu'il n'y a pas
car on ne voit rien), tout va bien.
On peut évidemment contourner ce problème en remplaçant dans la formule
les "" par 0 et en utilisant une autre manière de supprimer :
Mais la rapidité d'exécution laisse fortement à désirer. J'en ai tester
de nombreuses autres du même type et c'est pareil.
Quelqu'un a certainement déjà résolu ce problème ?
Merci de votre aide.
Jacques
Sub JH()
i = 65536
Do While i > 2
For i = [a65536].End(xlUp).Row To 2 Step -1
If Len(Cells(i, 1)) = 0 Then
Rows(i).Delete
Exit For
End If
Next
Loop
End Sub
RaMa
"JacquesH" <anonymous@discussions.microsoft.com> a écrit dans le message
de news: OP2JMVXRFHA.2132@TK2MSFTNGP14.phx.gbl...
Bonjour et merci de t'intéresser à mon problème,
Dans mon code :
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 Then Rows(i).Delete
Next
End Sub
J'ai remplacé la seconde ligne par celle que tu proposes :
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
Malheureusement, il ne se passe absolument rien.
Je suppose que c'était censé améliorer la rapidité. Ce serait déjà très
bien.
En revanche, ce que j'aimerais surtout c'est regler la première partie du
problème : cellules vides qui ne sont pas vides.
Jacques
Bonjour
essaie avec ceci
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
salutations
RaMa
"JacquesH" <anonymous@discussions.microsoft.com> a écrit dans le message
de news: unm$p5WRFHA.2784@TK2MSFTNGP12.phx.gbl...
Bonjour à toutes et tous,
Je me heurte très souvent au même problème et je ne trouve pas vraiment
quelque chose de satisfaisant dans les archives.
J'ai une feuille 1 avec un tableau contenant de nombreuses formules, je
le copie sur une seconde feuille (collage spécial - valeurs)dans
laquelle, je supprime des lignes qui sont vides en colonne A après les
avoir mis à la fin du tableau :
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cette ligne de code fonctionne la plupart du temps très bien et très
très rapidement.
Cependant, avec certains types de formules dans la feuille 1 et malgré
le collage spécial, cela ne fonctionne pas car il ne considère pas que
les cellules sont vides.
Exemple de formule qui génère cela mais il y en a beaucoup d'autres :
=SI(ET(E3<>E2;E3<>E4);D3;SI(ET(E3â;E3ä);"";SI(E3â;D3;"")))
Si j'efface ce qu'il y a dans les cellules (ou plutôt ce qu'il n'y a pas
car on ne voit rien), tout va bien.
On peut évidemment contourner ce problème en remplaçant dans la formule
les "" par 0 et en utilisant une autre manière de supprimer :
Mais la rapidité d'exécution laisse fortement à désirer. J'en ai tester
de nombreuses autres du même type et c'est pareil.
Quelqu'un a certainement déjà résolu ce problème ?
Merci de votre aide.
Jacques
Sub JH()
i = 65536
Do While i > 2
For i = [a65536].End(xlUp).Row To 2 Step -1
If Len(Cells(i, 1)) = 0 Then
Rows(i).Delete
Exit For
End If
Next
Loop
End Sub
RaMa
"JacquesH" a écrit dans le message
de news:Bonjour et merci de t'intéresser à mon problème,
Dans mon code :
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 Then Rows(i).Delete
Next
End Sub
J'ai remplacé la seconde ligne par celle que tu proposes :
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
Malheureusement, il ne se passe absolument rien.
Je suppose que c'était censé améliorer la rapidité. Ce serait déjà très
bien.
En revanche, ce que j'aimerais surtout c'est regler la première partie du
problème : cellules vides qui ne sont pas vides.
JacquesBonjour
essaie avec ceci
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
salutations
RaMa
"JacquesH" a écrit dans le message
de news: unm$Bonjour à toutes et tous,
Je me heurte très souvent au même problème et je ne trouve pas vraiment
quelque chose de satisfaisant dans les archives.
J'ai une feuille 1 avec un tableau contenant de nombreuses formules, je
le copie sur une seconde feuille (collage spécial - valeurs)dans
laquelle, je supprime des lignes qui sont vides en colonne A après les
avoir mis à la fin du tableau :
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cette ligne de code fonctionne la plupart du temps très bien et très
très rapidement.
Cependant, avec certains types de formules dans la feuille 1 et malgré
le collage spécial, cela ne fonctionne pas car il ne considère pas que
les cellules sont vides.
Exemple de formule qui génère cela mais il y en a beaucoup d'autres :
=SI(ET(E3<>E2;E3<>E4);D3;SI(ET(E3â;E3ä);"";SI(E3â;D3;"")))
Si j'efface ce qu'il y a dans les cellules (ou plutôt ce qu'il n'y a pas
car on ne voit rien), tout va bien.
On peut évidemment contourner ce problème en remplaçant dans la formule
les "" par 0 et en utilisant une autre manière de supprimer :
Mais la rapidité d'exécution laisse fortement à désirer. J'en ai tester
de nombreuses autres du même type et c'est pareil.
Quelqu'un a certainement déjà résolu ce problème ?
Merci de votre aide.
Jacques
Testé et OK
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Len(Cells(i, 1)) = 0 Then
Rows(i).Delete
End If
Next
End Sub
RaMa
"RaMa" a écrit dans le message de news:Sub JH()
i = 65536
Do While i > 2
For i = [a65536].End(xlUp).Row To 2 Step -1
If Len(Cells(i, 1)) = 0 Then
Rows(i).Delete
Exit For
End If
Next
Loop
End Sub
RaMa
"JacquesH" a écrit dans le message
de news:Bonjour et merci de t'intéresser à mon problème,
Dans mon code :
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 Then Rows(i).Delete
Next
End Sub
J'ai remplacé la seconde ligne par celle que tu proposes :
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
Malheureusement, il ne se passe absolument rien.
Je suppose que c'était censé améliorer la rapidité. Ce serait déjà très
bien.
En revanche, ce que j'aimerais surtout c'est regler la première partie du
problème : cellules vides qui ne sont pas vides.
JacquesBonjour
essaie avec ceci
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
salutations
RaMa
"JacquesH" a écrit dans le message
de news: unm$Bonjour à toutes et tous,
Je me heurte très souvent au même problème et je ne trouve pas vraiment
quelque chose de satisfaisant dans les archives.
J'ai une feuille 1 avec un tableau contenant de nombreuses formules, je
le copie sur une seconde feuille (collage spécial - valeurs)dans
laquelle, je supprime des lignes qui sont vides en colonne A après les
avoir mis à la fin du tableau :
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cette ligne de code fonctionne la plupart du temps très bien et très
très rapidement.
Cependant, avec certains types de formules dans la feuille 1 et malgré
le collage spécial, cela ne fonctionne pas car il ne considère pas que
les cellules sont vides.
Exemple de formule qui génère cela mais il y en a beaucoup d'autres :
=SI(ET(E3<>E2;E3<>E4);D3;SI(ET(E3â;E3ä);"";SI(E3â;D3;"")))
Si j'efface ce qu'il y a dans les cellules (ou plutôt ce qu'il n'y a pas
car on ne voit rien), tout va bien.
On peut évidemment contourner ce problème en remplaçant dans la formule
les "" par 0 et en utilisant une autre manière de supprimer :
Mais la rapidité d'exécution laisse fortement à désirer. J'en ai tester
de nombreuses autres du même type et c'est pareil.
Quelqu'un a certainement déjà résolu ce problème ?
Merci de votre aide.
Jacques
Testé et OK
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Len(Cells(i, 1)) = 0 Then
Rows(i).Delete
End If
Next
End Sub
RaMa
"RaMa" <rmarceauPas2Spam@free.fr> a écrit dans le message de news:
eVMuVkXRFHA.688@TK2MSFTNGP10.phx.gbl...
Sub JH()
i = 65536
Do While i > 2
For i = [a65536].End(xlUp).Row To 2 Step -1
If Len(Cells(i, 1)) = 0 Then
Rows(i).Delete
Exit For
End If
Next
Loop
End Sub
RaMa
"JacquesH" <anonymous@discussions.microsoft.com> a écrit dans le message
de news: OP2JMVXRFHA.2132@TK2MSFTNGP14.phx.gbl...
Bonjour et merci de t'intéresser à mon problème,
Dans mon code :
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 Then Rows(i).Delete
Next
End Sub
J'ai remplacé la seconde ligne par celle que tu proposes :
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
Malheureusement, il ne se passe absolument rien.
Je suppose que c'était censé améliorer la rapidité. Ce serait déjà très
bien.
En revanche, ce que j'aimerais surtout c'est regler la première partie du
problème : cellules vides qui ne sont pas vides.
Jacques
Bonjour
essaie avec ceci
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
salutations
RaMa
"JacquesH" <anonymous@discussions.microsoft.com> a écrit dans le message
de news: unm$p5WRFHA.2784@TK2MSFTNGP12.phx.gbl...
Bonjour à toutes et tous,
Je me heurte très souvent au même problème et je ne trouve pas vraiment
quelque chose de satisfaisant dans les archives.
J'ai une feuille 1 avec un tableau contenant de nombreuses formules, je
le copie sur une seconde feuille (collage spécial - valeurs)dans
laquelle, je supprime des lignes qui sont vides en colonne A après les
avoir mis à la fin du tableau :
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cette ligne de code fonctionne la plupart du temps très bien et très
très rapidement.
Cependant, avec certains types de formules dans la feuille 1 et malgré
le collage spécial, cela ne fonctionne pas car il ne considère pas que
les cellules sont vides.
Exemple de formule qui génère cela mais il y en a beaucoup d'autres :
=SI(ET(E3<>E2;E3<>E4);D3;SI(ET(E3â;E3ä);"";SI(E3â;D3;"")))
Si j'efface ce qu'il y a dans les cellules (ou plutôt ce qu'il n'y a pas
car on ne voit rien), tout va bien.
On peut évidemment contourner ce problème en remplaçant dans la formule
les "" par 0 et en utilisant une autre manière de supprimer :
Mais la rapidité d'exécution laisse fortement à désirer. J'en ai tester
de nombreuses autres du même type et c'est pareil.
Quelqu'un a certainement déjà résolu ce problème ?
Merci de votre aide.
Jacques
Testé et OK
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Len(Cells(i, 1)) = 0 Then
Rows(i).Delete
End If
Next
End Sub
RaMa
"RaMa" a écrit dans le message de news:Sub JH()
i = 65536
Do While i > 2
For i = [a65536].End(xlUp).Row To 2 Step -1
If Len(Cells(i, 1)) = 0 Then
Rows(i).Delete
Exit For
End If
Next
Loop
End Sub
RaMa
"JacquesH" a écrit dans le message
de news:Bonjour et merci de t'intéresser à mon problème,
Dans mon code :
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 Then Rows(i).Delete
Next
End Sub
J'ai remplacé la seconde ligne par celle que tu proposes :
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
Malheureusement, il ne se passe absolument rien.
Je suppose que c'était censé améliorer la rapidité. Ce serait déjà très
bien.
En revanche, ce que j'aimerais surtout c'est regler la première partie du
problème : cellules vides qui ne sont pas vides.
JacquesBonjour
essaie avec ceci
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
salutations
RaMa
"JacquesH" a écrit dans le message
de news: unm$Bonjour à toutes et tous,
Je me heurte très souvent au même problème et je ne trouve pas vraiment
quelque chose de satisfaisant dans les archives.
J'ai une feuille 1 avec un tableau contenant de nombreuses formules, je
le copie sur une seconde feuille (collage spécial - valeurs)dans
laquelle, je supprime des lignes qui sont vides en colonne A après les
avoir mis à la fin du tableau :
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cette ligne de code fonctionne la plupart du temps très bien et très
très rapidement.
Cependant, avec certains types de formules dans la feuille 1 et malgré
le collage spécial, cela ne fonctionne pas car il ne considère pas que
les cellules sont vides.
Exemple de formule qui génère cela mais il y en a beaucoup d'autres :
=SI(ET(E3<>E2;E3<>E4);D3;SI(ET(E3â;E3ä);"";SI(E3â;D3;"")))
Si j'efface ce qu'il y a dans les cellules (ou plutôt ce qu'il n'y a pas
car on ne voit rien), tout va bien.
On peut évidemment contourner ce problème en remplaçant dans la formule
les "" par 0 et en utilisant une autre manière de supprimer :
Mais la rapidité d'exécution laisse fortement à désirer. J'en ai tester
de nombreuses autres du même type et c'est pareil.
Quelqu'un a certainement déjà résolu ce problème ?
Merci de votre aide.
Jacques
Toujours désolé car cela ne bouge absolument pas.
Entre nos deux codes :
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 Then Rows(i).Delete
Next
End Sub
et :
Sub rama()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Len(Cells(i, 1)) = 0 Then
Rows(i).Delete
End If
Next
End Sub
Il n'y a quasiment que le mot Len qui change : à quoi correspond-il et que
change-il au niveau de la vitesse d'exécution ?
J'ai 3000 lignes sur 6 colonnes, toutes les cellules sont formatées
(bordures) et contiennent des valeurs. Dans la colonne A, à partir de la
ligne 1033 et jusqu'à la dernière, il y a maintenant 0 (zéro) et je
souhaite supprimer toutes les lignes de 1033 à 3000.
Mon code fonctionne mais met plus de 30 secondes.
Merci de ton aide.
JacquesTesté et OK
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Len(Cells(i, 1)) = 0 Then
Rows(i).Delete
End If
Next
End Sub
RaMa
"RaMa" a écrit dans le message de news:Sub JH()
i = 65536
Do While i > 2
For i = [a65536].End(xlUp).Row To 2 Step -1
If Len(Cells(i, 1)) = 0 Then
Rows(i).Delete
Exit For
End If
Next
Loop
End Sub
RaMa
"JacquesH" a écrit dans le message
de news:Bonjour et merci de t'intéresser à mon problème,
Dans mon code :
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 Then Rows(i).Delete
Next
End Sub
J'ai remplacé la seconde ligne par celle que tu proposes :
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
Malheureusement, il ne se passe absolument rien.
Je suppose que c'était censé améliorer la rapidité. Ce serait déjà très
bien.
En revanche, ce que j'aimerais surtout c'est regler la première partie
du problème : cellules vides qui ne sont pas vides.
JacquesBonjour
essaie avec ceci
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
salutations
RaMa
"JacquesH" a écrit dans le
message de news: unm$Bonjour à toutes et tous,
Je me heurte très souvent au même problème et je ne trouve pas
vraiment quelque chose de satisfaisant dans les archives.
J'ai une feuille 1 avec un tableau contenant de nombreuses formules,
je le copie sur une seconde feuille (collage spécial - valeurs)dans
laquelle, je supprime des lignes qui sont vides en colonne A après
les avoir mis à la fin du tableau :
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cette ligne de code fonctionne la plupart du temps très bien et très
très rapidement.
Cependant, avec certains types de formules dans la feuille 1 et malgré
le collage spécial, cela ne fonctionne pas car il ne considère pas que
les cellules sont vides.
Exemple de formule qui génère cela mais il y en a beaucoup d'autres :
=SI(ET(E3<>E2;E3<>E4);D3;SI(ET(E3â;E3ä);"";SI(E3â;D3;"")))
Si j'efface ce qu'il y a dans les cellules (ou plutôt ce qu'il n'y a
pas car on ne voit rien), tout va bien.
On peut évidemment contourner ce problème en remplaçant dans la
formule les "" par 0 et en utilisant une autre manière de supprimer :
Mais la rapidité d'exécution laisse fortement à désirer. J'en ai
tester de nombreuses autres du même type et c'est pareil.
Quelqu'un a certainement déjà résolu ce problème ?
Merci de votre aide.
Jacques
Toujours désolé car cela ne bouge absolument pas.
Entre nos deux codes :
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 Then Rows(i).Delete
Next
End Sub
et :
Sub rama()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Len(Cells(i, 1)) = 0 Then
Rows(i).Delete
End If
Next
End Sub
Il n'y a quasiment que le mot Len qui change : à quoi correspond-il et que
change-il au niveau de la vitesse d'exécution ?
J'ai 3000 lignes sur 6 colonnes, toutes les cellules sont formatées
(bordures) et contiennent des valeurs. Dans la colonne A, à partir de la
ligne 1033 et jusqu'à la dernière, il y a maintenant 0 (zéro) et je
souhaite supprimer toutes les lignes de 1033 à 3000.
Mon code fonctionne mais met plus de 30 secondes.
Merci de ton aide.
Jacques
Testé et OK
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Len(Cells(i, 1)) = 0 Then
Rows(i).Delete
End If
Next
End Sub
RaMa
"RaMa" <rmarceauPas2Spam@free.fr> a écrit dans le message de news:
eVMuVkXRFHA.688@TK2MSFTNGP10.phx.gbl...
Sub JH()
i = 65536
Do While i > 2
For i = [a65536].End(xlUp).Row To 2 Step -1
If Len(Cells(i, 1)) = 0 Then
Rows(i).Delete
Exit For
End If
Next
Loop
End Sub
RaMa
"JacquesH" <anonymous@discussions.microsoft.com> a écrit dans le message
de news: OP2JMVXRFHA.2132@TK2MSFTNGP14.phx.gbl...
Bonjour et merci de t'intéresser à mon problème,
Dans mon code :
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 Then Rows(i).Delete
Next
End Sub
J'ai remplacé la seconde ligne par celle que tu proposes :
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
Malheureusement, il ne se passe absolument rien.
Je suppose que c'était censé améliorer la rapidité. Ce serait déjà très
bien.
En revanche, ce que j'aimerais surtout c'est regler la première partie
du problème : cellules vides qui ne sont pas vides.
Jacques
Bonjour
essaie avec ceci
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
salutations
RaMa
"JacquesH" <anonymous@discussions.microsoft.com> a écrit dans le
message de news: unm$p5WRFHA.2784@TK2MSFTNGP12.phx.gbl...
Bonjour à toutes et tous,
Je me heurte très souvent au même problème et je ne trouve pas
vraiment quelque chose de satisfaisant dans les archives.
J'ai une feuille 1 avec un tableau contenant de nombreuses formules,
je le copie sur une seconde feuille (collage spécial - valeurs)dans
laquelle, je supprime des lignes qui sont vides en colonne A après
les avoir mis à la fin du tableau :
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cette ligne de code fonctionne la plupart du temps très bien et très
très rapidement.
Cependant, avec certains types de formules dans la feuille 1 et malgré
le collage spécial, cela ne fonctionne pas car il ne considère pas que
les cellules sont vides.
Exemple de formule qui génère cela mais il y en a beaucoup d'autres :
=SI(ET(E3<>E2;E3<>E4);D3;SI(ET(E3â;E3ä);"";SI(E3â;D3;"")))
Si j'efface ce qu'il y a dans les cellules (ou plutôt ce qu'il n'y a
pas car on ne voit rien), tout va bien.
On peut évidemment contourner ce problème en remplaçant dans la
formule les "" par 0 et en utilisant une autre manière de supprimer :
Mais la rapidité d'exécution laisse fortement à désirer. J'en ai
tester de nombreuses autres du même type et c'est pareil.
Quelqu'un a certainement déjà résolu ce problème ?
Merci de votre aide.
Jacques
Toujours désolé car cela ne bouge absolument pas.
Entre nos deux codes :
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 Then Rows(i).Delete
Next
End Sub
et :
Sub rama()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Len(Cells(i, 1)) = 0 Then
Rows(i).Delete
End If
Next
End Sub
Il n'y a quasiment que le mot Len qui change : à quoi correspond-il et que
change-il au niveau de la vitesse d'exécution ?
J'ai 3000 lignes sur 6 colonnes, toutes les cellules sont formatées
(bordures) et contiennent des valeurs. Dans la colonne A, à partir de la
ligne 1033 et jusqu'à la dernière, il y a maintenant 0 (zéro) et je
souhaite supprimer toutes les lignes de 1033 à 3000.
Mon code fonctionne mais met plus de 30 secondes.
Merci de ton aide.
JacquesTesté et OK
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Len(Cells(i, 1)) = 0 Then
Rows(i).Delete
End If
Next
End Sub
RaMa
"RaMa" a écrit dans le message de news:Sub JH()
i = 65536
Do While i > 2
For i = [a65536].End(xlUp).Row To 2 Step -1
If Len(Cells(i, 1)) = 0 Then
Rows(i).Delete
Exit For
End If
Next
Loop
End Sub
RaMa
"JacquesH" a écrit dans le message
de news:Bonjour et merci de t'intéresser à mon problème,
Dans mon code :
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 Then Rows(i).Delete
Next
End Sub
J'ai remplacé la seconde ligne par celle que tu proposes :
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
Malheureusement, il ne se passe absolument rien.
Je suppose que c'était censé améliorer la rapidité. Ce serait déjà très
bien.
En revanche, ce que j'aimerais surtout c'est regler la première partie
du problème : cellules vides qui ne sont pas vides.
JacquesBonjour
essaie avec ceci
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
salutations
RaMa
"JacquesH" a écrit dans le
message de news: unm$Bonjour à toutes et tous,
Je me heurte très souvent au même problème et je ne trouve pas
vraiment quelque chose de satisfaisant dans les archives.
J'ai une feuille 1 avec un tableau contenant de nombreuses formules,
je le copie sur une seconde feuille (collage spécial - valeurs)dans
laquelle, je supprime des lignes qui sont vides en colonne A après
les avoir mis à la fin du tableau :
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cette ligne de code fonctionne la plupart du temps très bien et très
très rapidement.
Cependant, avec certains types de formules dans la feuille 1 et malgré
le collage spécial, cela ne fonctionne pas car il ne considère pas que
les cellules sont vides.
Exemple de formule qui génère cela mais il y en a beaucoup d'autres :
=SI(ET(E3<>E2;E3<>E4);D3;SI(ET(E3â;E3ä);"";SI(E3â;D3;"")))
Si j'efface ce qu'il y a dans les cellules (ou plutôt ce qu'il n'y a
pas car on ne voit rien), tout va bien.
On peut évidemment contourner ce problème en remplaçant dans la
formule les "" par 0 et en utilisant une autre manière de supprimer :
Mais la rapidité d'exécution laisse fortement à désirer. J'en ai
tester de nombreuses autres du même type et c'est pareil.
Quelqu'un a certainement déjà résolu ce problème ?
Merci de votre aide.
Jacques
Sans vouloir trop me méler de la conversation...
Sur une plage importante, mieux vaut utiliser un filtre puis supprimer les
cellules visibles que de boucler sur les lignes
AV
Sans vouloir trop me méler de la conversation...
Sur une plage importante, mieux vaut utiliser un filtre puis supprimer les
cellules visibles que de boucler sur les lignes
AV
Sans vouloir trop me méler de la conversation...
Sur une plage importante, mieux vaut utiliser un filtre puis supprimer les
cellules visibles que de boucler sur les lignes
AV
Bonjour et merci de t'intéresser à mon problème,
Dans mon code :
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 Then Rows(i).Delete
Next
End Sub
J'ai remplacé la seconde ligne par celle que tu proposes :
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
Malheureusement, il ne se passe absolument rien.
Je suppose que c'était censé améliorer la rapidité. Ce serait déjà très
bien.
En revanche, ce que j'aimerais surtout c'est regler la première partie
du problème : cellules vides qui ne sont pas vides.
JacquesBonjour
essaie avec ceci
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
salutations
RaMa
"JacquesH" a écrit dans le message de
news: unm$Bonjour à toutes et tous,
Je me heurte très souvent au même problème et je ne trouve pas vraiment
quelque chose de satisfaisant dans les archives.
J'ai une feuille 1 avec un tableau contenant de nombreuses formules, je le
copie sur une seconde feuille (collage spécial - valeurs)dans laquelle, je
supprime des lignes qui sont vides en colonne A après les avoir mis à la
fin du tableau :
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cette ligne de code fonctionne la plupart du temps très bien et très très
rapidement.
Cependant, avec certains types de formules dans la feuille 1 et malgré le
collage spécial, cela ne fonctionne pas car il ne considère pas que les
cellules sont vides.
Exemple de formule qui génère cela mais il y en a beaucoup d'autres :
=SI(ET(E3<>E2;E3<>E4);D3;SI(ET(E3â;E3ä);"";SI(E3â;D3;"")))
Si j'efface ce qu'il y a dans les cellules (ou plutôt ce qu'il n'y a pas
car on ne voit rien), tout va bien.
On peut évidemment contourner ce problème en remplaçant dans la formule
les "" par 0 et en utilisant une autre manière de supprimer :
Mais la rapidité d'exécution laisse fortement à désirer. J'en ai tester de
nombreuses autres du même type et c'est pareil.
Quelqu'un a certainement déjà résolu ce problème ?
Merci de votre aide.
Jacques
Bonjour et merci de t'intéresser à mon problème,
Dans mon code :
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 Then Rows(i).Delete
Next
End Sub
J'ai remplacé la seconde ligne par celle que tu proposes :
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
Malheureusement, il ne se passe absolument rien.
Je suppose que c'était censé améliorer la rapidité. Ce serait déjà très
bien.
En revanche, ce que j'aimerais surtout c'est regler la première partie
du problème : cellules vides qui ne sont pas vides.
Jacques
Bonjour
essaie avec ceci
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
salutations
RaMa
"JacquesH" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: unm$p5WRFHA.2784@TK2MSFTNGP12.phx.gbl...
Bonjour à toutes et tous,
Je me heurte très souvent au même problème et je ne trouve pas vraiment
quelque chose de satisfaisant dans les archives.
J'ai une feuille 1 avec un tableau contenant de nombreuses formules, je le
copie sur une seconde feuille (collage spécial - valeurs)dans laquelle, je
supprime des lignes qui sont vides en colonne A après les avoir mis à la
fin du tableau :
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cette ligne de code fonctionne la plupart du temps très bien et très très
rapidement.
Cependant, avec certains types de formules dans la feuille 1 et malgré le
collage spécial, cela ne fonctionne pas car il ne considère pas que les
cellules sont vides.
Exemple de formule qui génère cela mais il y en a beaucoup d'autres :
=SI(ET(E3<>E2;E3<>E4);D3;SI(ET(E3â;E3ä);"";SI(E3â;D3;"")))
Si j'efface ce qu'il y a dans les cellules (ou plutôt ce qu'il n'y a pas
car on ne voit rien), tout va bien.
On peut évidemment contourner ce problème en remplaçant dans la formule
les "" par 0 et en utilisant une autre manière de supprimer :
Mais la rapidité d'exécution laisse fortement à désirer. J'en ai tester de
nombreuses autres du même type et c'est pareil.
Quelqu'un a certainement déjà résolu ce problème ?
Merci de votre aide.
Jacques
Bonjour et merci de t'intéresser à mon problème,
Dans mon code :
Sub JH()
For i = [a65536].End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 Then Rows(i).Delete
Next
End Sub
J'ai remplacé la seconde ligne par celle que tu proposes :
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
Malheureusement, il ne se passe absolument rien.
Je suppose que c'était censé améliorer la rapidité. Ce serait déjà très
bien.
En revanche, ce que j'aimerais surtout c'est regler la première partie
du problème : cellules vides qui ne sont pas vides.
JacquesBonjour
essaie avec ceci
If Len(Cells(i, 1)) = 0 Then Rows(i).Delete
salutations
RaMa
"JacquesH" a écrit dans le message de
news: unm$Bonjour à toutes et tous,
Je me heurte très souvent au même problème et je ne trouve pas vraiment
quelque chose de satisfaisant dans les archives.
J'ai une feuille 1 avec un tableau contenant de nombreuses formules, je le
copie sur une seconde feuille (collage spécial - valeurs)dans laquelle, je
supprime des lignes qui sont vides en colonne A après les avoir mis à la
fin du tableau :
Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Cette ligne de code fonctionne la plupart du temps très bien et très très
rapidement.
Cependant, avec certains types de formules dans la feuille 1 et malgré le
collage spécial, cela ne fonctionne pas car il ne considère pas que les
cellules sont vides.
Exemple de formule qui génère cela mais il y en a beaucoup d'autres :
=SI(ET(E3<>E2;E3<>E4);D3;SI(ET(E3â;E3ä);"";SI(E3â;D3;"")))
Si j'efface ce qu'il y a dans les cellules (ou plutôt ce qu'il n'y a pas
car on ne voit rien), tout va bien.
On peut évidemment contourner ce problème en remplaçant dans la formule
les "" par 0 et en utilisant une autre manière de supprimer :
Mais la rapidité d'exécution laisse fortement à désirer. J'en ai tester de
nombreuses autres du même type et c'est pareil.
Quelqu'un a certainement déjà résolu ce problème ?
Merci de votre aide.
Jacques