Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

copier une feuille si...

10 réponses
Avatar
alainL
Bonjour,
Je voudrais créer feuil2 sur laquelle on ne retrouverait que les lignes
de feuil1 dans lesquelles la cel de colonne D est <>"".
Merci
--
Alain L

Mon village en Haute Soule : http://autourdalos.fr
Carnet de voyages: http://jarailet.club.fr/Randobal

10 réponses

Avatar
Daniel.C
Bonjour.
Essaie :

Sub test()
Dim c As Range, ResAdr As String, ligne As Long
Set c = Range("D1", [D65000].End(xlUp)).Find("*")
If c.Value <> "" Then
ResAdr = c.Address
Do
ligne = ligne + 1
c.EntireRow.Copy Sheets("Feuil2").Cells(ligne, 1)
Set c = Range("D1", [D65000].End(xlUp)).FindNext(c)
Loop While c <> "" And c.Address <> ResAdr
End If
End Sub

Cordialement.
Daniel


Bonjour,
Je voudrais créer feuil2 sur laquelle on ne retrouverait que les lignes de
feuil1 dans lesquelles la cel de colonne D est <>"".
Merci


Avatar
alainL
Daniel.C a écrit :
Bonjour.
Essaie :

Sub test()
Dim c As Range, ResAdr As String, ligne As Long
Set c = Range("D1", [D65000].End(xlUp)).Find("*")
If c.Value <> "" Then
ResAdr = c.Address
Do
ligne = ligne + 1
c.EntireRow.Copy Sheets("Feuil2").Cells(ligne, 1)
Set c = Range("D1", [D65000].End(xlUp)).FindNext(c)
Loop While c <> "" And c.Address <> ResAdr
End If
End Sub

Cordialement.
Daniel


Bonjour,
Je voudrais créer feuil2 sur laquelle on ne retrouverait que les
lignes de feuil1 dans lesquelles la cel de colonne D est <>"".
Merci






Merci. J'ai essayé en recopiant ce code dans un module puis en lançant
l'exécution mais rien ne se passe.
Il n'y a pas de référence à Feuil1 dans le code, est-ce normal ?

--
Alain L

Mon village en Haute Soule : http://autourdalos.fr
Carnet de voyages: http://jarailet.club.fr/Randobal
Avatar
JB
Bonjour,

Sheets("feuil1").[D:D].SpecialCells(xlCellTypeConstants,
23).EntireRow.Copy Sheets("feuil2").[A1]

JB
http://boisgontierjacques.free.fr

On 11 jan, 10:42, alainL wrote:
Bonjour,
Je voudrais créer feuil2  sur laquelle on ne retrouverait que les lig nes
de feuil1 dans lesquelles la cel de colonne D  est <>"".
Merci
--
Alain L

Mon village en Haute Soule :http://autourdalos.fr
Carnet de voyages:http://jarailet.club.fr/Randobal


Avatar
JB
http://cjoint.com/?blnb7uZeQA

JB

On 11 jan, 12:13, JB wrote:
Bonjour,

Sheets("feuil1").[D:D].SpecialCells(xlCellTypeConstants,
23).EntireRow.Copy Sheets("feuil2").[A1]

JBhttp://boisgontierjacques.free.fr

On 11 jan, 10:42, alainL wrote:



> Bonjour,
> Je voudrais créer feuil2  sur laquelle on ne retrouverait que les l ignes
> de feuil1 dans lesquelles la cel de colonne D  est <>"".
> Merci
> --
> Alain L

> Mon village en Haute Soule :http://autourdalos.fr
> Carnet de voyages:http://jarailet.club.fr/Randobal- Masquer le texte de s messages précédents -

- Afficher le texte des messages précédents -


Avatar
Daniel.C
> Daniel.C a écrit :
Bonjour.
Essaie :

Sub test()
Dim c As Range, ResAdr As String, ligne As Long
Set c = Range("D1", [D65000].End(xlUp)).Find("*")
If c.Value <> "" Then
ResAdr = c.Address
Do
ligne = ligne + 1
c.EntireRow.Copy Sheets("Feuil2").Cells(ligne, 1)
Set c = Range("D1", [D65000].End(xlUp)).FindNext(c)
Loop While c <> "" And c.Address <> ResAdr
End If
End Sub

Cordialement.
Daniel


Bonjour,
Je voudrais créer feuil2 sur laquelle on ne retrouverait que les lignes
de feuil1 dans lesquelles la cel de colonne D est <>"".
Merci






Merci. J'ai essayé en recopiant ce code dans un module puis en lançant
l'exécution mais rien ne se passe.
Il n'y a pas de référence à Feuil1 dans le code, est-ce normal ?



Telle quelle la macro doit être lancée avec Feuil1 comme feuille
active. J'ai modifié le code pour qu'elle s'exécut quelle que soit la
feuille active :

Sub test()
Dim c As Range, ResAdr As String, ligne As Long
With Sheets("Feuil1")
Set c = Range(.[D1], .[D65000].End(xlUp)).Find("*")
If c.Value <> "" Then
ResAdr = c.Address
Do
ligne = ligne + 1
c.EntireRow.Copy Sheets("Feuil2").Cells(ligne, 1)
Set c = Range(.[D1], .[D65000].End(xlUp)).FindNext(c)
Loop While c <> "" And c.Address <> ResAdr
End If
End With
End Sub

Daniel
Avatar
Daniel.C
Bonjour JB.
Sauf si tu as des formules en D.
Daniel

http://cjoint.com/?blnb7uZeQA

JB

On 11 jan, 12:13, JB wrote:
Bonjour,

Sheets("feuil1").[D:D].SpecialCells(xlCellTypeConstants,
23).EntireRow.Copy Sheets("feuil2").[A1]

JBhttp://boisgontierjacques.free.fr

On 11 jan, 10:42, alainL wrote:



Bonjour,
Je voudrais créer feuil2  sur laquelle on ne retrouverait que les lignes
de feuil1 dans lesquelles la cel de colonne D  est <>"".
Merci
--
Alain L



Mon village en Haute Soule :http://autourdalos.fr
Carnet de voyages:http://jarailet.club.fr/Randobal- Masquer le texte des
messages précédents -



- Afficher le texte des messages précédents -




Avatar
michdenis
Dans ce cas, le filtré élaboré serait une alternative à considérer


"Daniel.C" a écrit dans le message de news:
%
Bonjour JB.
Sauf si tu as des formules en D.
Daniel

http://cjoint.com/?blnb7uZeQA

JB

On 11 jan, 12:13, JB wrote:
Bonjour,

Sheets("feuil1").[D:D].SpecialCells(xlCellTypeConstants,
23).EntireRow.Copy Sheets("feuil2").[A1]

JBhttp://boisgontierjacques.free.fr

On 11 jan, 10:42, alainL wrote:



Bonjour,
Je voudrais créer feuil2 sur laquelle on ne retrouverait que les lignes
de feuil1 dans lesquelles la cel de colonne D est <>"".
Merci
--
Alain L



Mon village en Haute Soule :http://autourdalos.fr
Carnet de voyages:http://jarailet.club.fr/Randobal- Masquer le texte des
messages précédents -



- Afficher le texte des messages précédents -




Avatar
JB
Bonjour,

-L'énoncé ne le précise pas.
-Pour un taux de vides de 20% et 10.000 lignes, avec find -->17s
-Pour un taux de vides de 20% et 10.000 lignes, avec balayage seq--
16s


-Avec filtre élab 0,3s

Sub FE()
t = Timer()
Set fs = Sheets("feuil1")
Set fD = Sheets("feuil2")
fs.[IV2] = "Ò<>"""""
fs.[A1:D65000].AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=fs.[IV1:IV2], CopyToRange:ý.[A1]
MsgBox Timer() - t
End Sub

JB
On 11 jan, 12:24, Daniel.C wrote:
Bonjour JB.
Sauf si tu as des formules en D.
Daniel



>http://cjoint.com/?blnb7uZeQA

> JB

> On 11 jan, 12:13, JB wrote:
>> Bonjour,

>> Sheets("feuil1").[D:D].SpecialCells(xlCellTypeConstants,
>> 23).EntireRow.Copy Sheets("feuil2").[A1]

>> JBhttp://boisgontierjacques.free.fr

>> On 11 jan, 10:42, alainL wrote:

>>> Bonjour,
>>> Je voudrais créer feuil2  sur laquelle on ne retrouverait que les lignes
>>> de feuil1 dans lesquelles la cel de colonne D  est <>"".
>>> Merci
>>> --
>>> Alain L

>>> Mon village en Haute Soule :http://autourdalos.fr
>>> Carnet de voyages:http://jarailet.club.fr/Randobal-Masquer le texte d es
>>> messages précédents -

>> - Afficher le texte des messages précédents -- Masquer le texte de s messages précédents -

- Afficher le texte des messages précédents -


Avatar
alainL
alainL a écrit :
Bonjour,
Je voudrais créer feuil2 sur laquelle on ne retrouverait que les lignes
de feuil1 dans lesquelles la cel de colonne D est <>"".




Merci
voilà, j'ai trouvé mon bonheur !
l'une des deux marche, pas l'autre... mais effectivement certaines
cellules contiennent des ctrl/b, des menus deroulants, des formules...

http://cjoint.com/?blo2Ir58VN

En fait la feuille 2 sera exportée au format txt pour alimenter mysql
Je n'ai donc pas besoin de copier les formules qui ne servent qu'à la
saisie sur F1.
Bonne (journée) année à vous deux !

--
Alain L

Mon village en Haute Soule : http://autourdalos.fr
Carnet de voyages: http://jarailet.club.fr/Randobal
Avatar
Daniel.C
L'énoncé ne précise pas grand-chose, malheureusement. La macro FE
recopie les cellules An:Dn alors qu'on ne connait pas la largeur de la
plage à recopier. Je n'ai pas cherché à faire la macro la plus
performante, mais la macro qui fonctionne dans le maximum de cas.
Daniel

Bonjour,

-L'énoncé ne le précise pas.
-Pour un taux de vides de 20% et 10.000 lignes, avec find -->17s
-Pour un taux de vides de 20% et 10.000 lignes, avec balayage seq--
16s


-Avec filtre élab 0,3s

Sub FE()
t = Timer()
Set fs = Sheets("feuil1")
Set fD = Sheets("feuil2")
fs.[IV2] = "Ò<>"""""
fs.[A1:D65000].AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=fs.[IV1:IV2], CopyToRange:ý.[A1]
MsgBox Timer() - t
End Sub

JB
On 11 jan, 12:24, Daniel.C wrote:
Bonjour JB.
Sauf si tu as des formules en D.
Daniel



http://cjoint.com/?blnb7uZeQA



JB



On 11 jan, 12:13, JB wrote:
Bonjour,





Sheets("feuil1").[D:D].SpecialCells(xlCellTypeConstants,
23).EntireRow.Copy Sheets("feuil2").[A1]
JBhttp://boisgontierjacques.free.fr
On 11 jan, 10:42, alainL wrote:
Bonjour,
Je voudrais créer feuil2  sur laquelle on ne retrouverait que les lignes
de feuil1 dans lesquelles la cel de colonne D  est <>"".
Merci
--
Alain L







Mon village en Haute Soule :http://autourdalos.fr
Carnet de voyages:http://jarailet.club.fr/Randobal-Masquer le texte des
messages précédents -







- Afficher le texte des messages précédents -- Masquer le texte des
messages précédents -





- Afficher le texte des messages précédents -