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

Recherche dernière ligne et effacement

10 réponses
Avatar
Richard
Bonjour à tous.

Je croyais que la macro suivante fonctionnait, mais ce n'est pas le cas
' Efface la cellule "Période d'attente"
Range("BV" & Range("BV12").End(xlDown).Row).Resize(2,
0).SpecialCells(xlCellTypeConstants).ClearContents
On Error Resume Next
J'AI ÉGALEMENT TENTÉ CELLE-CI
Range("BV" & Range("BV12").End(xlDown).Row).Select
ActiveCell.ClearContents

Quelqu'un peut-il me dire où est mon erreur!

Merci de pouvoir m'aider
--
Richard

10 réponses

Avatar
MichDenis
Bonjour Richard,

Pour effacer seulement les données :

With Worksheets("InscrisLeNomDeLaFeuille")
.Range("BV12:BV" & .Range("BV65536").End(xlUp).Row).ClearContents
End With

Pour effacer les données et le format des cellules :

With Worksheets("InscrisLeNomDeLaFeuille")
.Range("BV12:BV" & .Range("BV65536").End(xlUp).Row).Clear
End With



"Richard" a écrit dans le message de groupe de
discussion :
Bonjour à tous.

Je croyais que la macro suivante fonctionnait, mais ce n'est pas le cas
' Efface la cellule "Période d'attente"
Range("BV" & Range("BV12").End(xlDown).Row).Resize(2,
0).SpecialCells(xlCellTypeConstants).ClearContents
On Error Resume Next
J'AI ÉGALEMENT TENTÉ CELLE-CI
Range("BV" & Range("BV12").End(xlDown).Row).Select
ActiveCell.ClearContents

Quelqu'un peut-il me dire où est mon erreur!

Merci de pouvoir m'aider
--
Richard
Avatar
Richard
Le résultat n'est pas tout a fait ce qu je tente de faire.
Je désire copier une ligne où il y a déjà des données et des formules.
Cependant
les cellules dont il y a des données (sur la ligne que je viens d'ajouter)
je désire les effacer.

LA MACRO QUE TU M'AS DONNÉ EFFACE TOUTE LA LIGNE

Voici la macro au complet.
Sheets("Registre employé").Select
Range("A" & Range("A12").End(xlDown).Row).Resize(2, 230).FillDown
On Error Resume Next
' Efface les infos colonnes "O" à "BE"
Range("C" & Range("C12").End(xlDown).Row).Resize(2,
41).SpecialCells(xlCellTypeConstants).ClearContents
' Efface la cellule "Terminaison d'emploie"
Range("CH" & Range("CH65000").End(xlUp).Row).Select
Selection.ClearContents
On Error Resume Next
' Efface la cellule "Période d'attente"
Range("BV" & Range("BV65000").End(xlUp).Row).Select
Selection.ClearContents
On Error Resume Next
' Efface les cellules "Budget"
Range("AR" & Range("AR12").End(xlDown).Row).Resize(2,
14).SpecialCells(xlCellTypeConstants).ClearContents
' Efface la cellule "Congé"
Range("CF" & Range("CF12").End(xlDown).Row).Select
ActiveCell.ClearContents

' Ajoute une ligne dans la feuille "Conciliation"
Sheets("Conciliation").Select
Range("I" & Range("I12").End(xlDown).Row).Resize(2, 123).FillDown
On Error Resume Next
Range("R" & Range("R12").End(xlDown).Row).Resize(2,
108).SpecialCells(xlCellTypeConstants).ClearContents
On Error Resume Next

' Ajoute une ligne dans la feuille "Coût indirect"
Sheets("Coût indirect").Select
Range("A" & Range("A12").End(xlDown).Row).Resize(2, 40).FillDown
On Error Resume Next

' Ouvre les lignes 13 À 24 du fichier Employé
Sheets("Fiche employé").Select
Rows("13:24").Select
Selection.EntireRow.Hidden = False
Range("E16:G16").Select



End Sub


--
Richard
"MichDenis" a écrit :



Bonjour Richard,

Pour effacer seulement les données :

With Worksheets("InscrisLeNomDeLaFeuille")
.Range("BV12:BV" & .Range("BV65536").End(xlUp).Row).ClearContents
End With

Pour effacer les données et le format des cellules :

With Worksheets("InscrisLeNomDeLaFeuille")
.Range("BV12:BV" & .Range("BV65536").End(xlUp).Row).Clear
End With



"Richard" a écrit dans le message de groupe de
discussion :
Bonjour à tous.

Je croyais que la macro suivante fonctionnait, mais ce n'est pas le cas
' Efface la cellule "Période d'attente"
Range("BV" & Range("BV12").End(xlDown).Row).Resize(2,
0).SpecialCells(xlCellTypeConstants).ClearContents
On Error Resume Next
J'AI ÉGALEMENT TENTÉ CELLE-CI
Range("BV" & Range("BV12").End(xlDown).Row).Select
ActiveCell.ClearContents

Quelqu'un peut-il me dire où est mon erreur!

Merci de pouvoir m'aider
--
Richard




Avatar
Richard
Bonsoir Mich

Je suis désolé d'être aussi rude,

J'étais empressé de te répondre et j'ai manqué de politesse.

Je te remercie de m'avoir répondu mais je t'ai répondu au préalable, cette
macro effacait toute la ligne. Avec la macro toute entière, peut-être
pourrais-tu me dire où est erreur

Merci

--
Richard


"Richard" a écrit :

Le résultat n'est pas tout a fait ce qu je tente de faire.
Je désire copier une ligne où il y a déjà des données et des formules.
Cependant
les cellules dont il y a des données (sur la ligne que je viens d'ajouter)
je désire les effacer.

LA MACRO QUE TU M'AS DONNÉ EFFACE TOUTE LA LIGNE

Voici la macro au complet.
Sheets("Registre employé").Select
Range("A" & Range("A12").End(xlDown).Row).Resize(2, 230).FillDown
On Error Resume Next
' Efface les infos colonnes "O" à "BE"
Range("C" & Range("C12").End(xlDown).Row).Resize(2,
41).SpecialCells(xlCellTypeConstants).ClearContents
' Efface la cellule "Terminaison d'emploie"
Range("CH" & Range("CH65000").End(xlUp).Row).Select
Selection.ClearContents
On Error Resume Next
' Efface la cellule "Période d'attente"
Range("BV" & Range("BV65000").End(xlUp).Row).Select
Selection.ClearContents
On Error Resume Next
' Efface les cellules "Budget"
Range("AR" & Range("AR12").End(xlDown).Row).Resize(2,
14).SpecialCells(xlCellTypeConstants).ClearContents
' Efface la cellule "Congé"
Range("CF" & Range("CF12").End(xlDown).Row).Select
ActiveCell.ClearContents

' Ajoute une ligne dans la feuille "Conciliation"
Sheets("Conciliation").Select
Range("I" & Range("I12").End(xlDown).Row).Resize(2, 123).FillDown
On Error Resume Next
Range("R" & Range("R12").End(xlDown).Row).Resize(2,
108).SpecialCells(xlCellTypeConstants).ClearContents
On Error Resume Next

' Ajoute une ligne dans la feuille "Coût indirect"
Sheets("Coût indirect").Select
Range("A" & Range("A12").End(xlDown).Row).Resize(2, 40).FillDown
On Error Resume Next

' Ouvre les lignes 13 À 24 du fichier Employé
Sheets("Fiche employé").Select
Rows("13:24").Select
Selection.EntireRow.Hidden = False
Range("E16:G16").Select



End Sub


--
Richard
"MichDenis" a écrit :

>
>
> Bonjour Richard,
>
> Pour effacer seulement les données :
>
> With Worksheets("InscrisLeNomDeLaFeuille")
> .Range("BV12:BV" & .Range("BV65536").End(xlUp).Row).ClearContents
> End With
>
> Pour effacer les données et le format des cellules :
>
> With Worksheets("InscrisLeNomDeLaFeuille")
> .Range("BV12:BV" & .Range("BV65536").End(xlUp).Row).Clear
> End With
>
>
>
> "Richard" a écrit dans le message de groupe de
> discussion :
> Bonjour à tous.
>
> Je croyais que la macro suivante fonctionnait, mais ce n'est pas le cas
> ' Efface la cellule "Période d'attente"
> Range("BV" & Range("BV12").End(xlDown).Row).Resize(2,
> 0).SpecialCells(xlCellTypeConstants).ClearContents
> On Error Resume Next
> J'AI ÉGALEMENT TENTÉ CELLE-CI
> Range("BV" & Range("BV12").End(xlDown).Row).Select
> ActiveCell.ClearContents
>
> Quelqu'un peut-il me dire où est mon erreur!
>
> Merci de pouvoir m'aider
> --
> Richard
>
>


Avatar
Hervé
Bonjour,
Et de cette façon ?

Sub Test()

On Error Resume Next

With Worksheet("Registre employé")
.[A65536].End(xlUp).Resize(2, 230).FillDown
' Efface les infos colonnes "O" à "BE"
.[C65536].End(xlUp).Resize(2, 41). _
SpecialCells(xlCellTypeConstants).ClearContents
' ' Efface la cellule "Terminaison d'emploie"
.[CH65536].End(xlUp).ClearContents
' ' Efface la cellule "Période d'attente"
.[BV65536].End(xlUp).ClearContents
' ' Efface les cellules "Budget"
.[AR65536].End(xlUp).Resize(2, 14). _
SpecialCells(xlCellTypeConstants).ClearContents
' ' Efface la cellule "Congé"
.[CF65536].End(xlUp).ClearContents
End With

' Ajoute une ligne dans la feuille "Conciliation"
With Worksheet("Conciliation")
.[I65536].End(xlUp).Resize(2, 123).FillDown
.[R65536].End(xlUp).Resize(2, 108). _
SpecialCells(xlCellTypeConstants).ClearContents
End With

' Ajoute une ligne dans la feuille "Coût indirect"
With Worksheet("Coût indirect")
.[A65536].End(xlUp).Resize(2, 40).FillDown
End With

' Ouvre les lignes 13 À 24 du fichier Employé
With Worksheet("Fiche employé")
.Rows("13:24").EntireRow.Hidden = False
.Range("E16:G16").Select
End With

End Sub


Hervé.


"Richard" a écrit dans le message de
news:
Bonsoir Mich

Je suis désolé d'être aussi rude,

J'étais empressé de te répondre et j'ai manqué de politesse.

Je te remercie de m'avoir répondu mais je t'ai répondu au préalable, cette
macro effacait toute la ligne. Avec la macro toute entière, peut-être
pourrais-tu me dire où est erreur

Merci

--
Richard


"Richard" a écrit :

Le résultat n'est pas tout a fait ce qu je tente de faire.
Je désire copier une ligne où il y a déjà des données et des formules.
Cependant
les cellules dont il y a des données (sur la ligne que je viens
d'ajouter)
je désire les effacer.

LA MACRO QUE TU M'AS DONNÉ EFFACE TOUTE LA LIGNE

Voici la macro au complet.
Sheets("Registre employé").Select
Range("A" & Range("A12").End(xlDown).Row).Resize(2, 230).FillDown
On Error Resume Next
' Efface les infos colonnes "O" à "BE"
Range("C" & Range("C12").End(xlDown).Row).Resize(2,
41).SpecialCells(xlCellTypeConstants).ClearContents
' Efface la cellule "Terminaison d'emploie"
Range("CH" & Range("CH65000").End(xlUp).Row).Select
Selection.ClearContents
On Error Resume Next
' Efface la cellule "Période d'attente"
Range("BV" & Range("BV65000").End(xlUp).Row).Select
Selection.ClearContents
On Error Resume Next
' Efface les cellules "Budget"
Range("AR" & Range("AR12").End(xlDown).Row).Resize(2,
14).SpecialCells(xlCellTypeConstants).ClearContents
' Efface la cellule "Congé"
Range("CF" & Range("CF12").End(xlDown).Row).Select
ActiveCell.ClearContents

' Ajoute une ligne dans la feuille "Conciliation"
Sheets("Conciliation").Select
Range("I" & Range("I12").End(xlDown).Row).Resize(2, 123).FillDown
On Error Resume Next
Range("R" & Range("R12").End(xlDown).Row).Resize(2,
108).SpecialCells(xlCellTypeConstants).ClearContents
On Error Resume Next

' Ajoute une ligne dans la feuille "Coût indirect"
Sheets("Coût indirect").Select
Range("A" & Range("A12").End(xlDown).Row).Resize(2, 40).FillDown
On Error Resume Next

' Ouvre les lignes 13 À 24 du fichier Employé
Sheets("Fiche employé").Select
Rows("13:24").Select
Selection.EntireRow.Hidden = False
Range("E16:G16").Select



End Sub


--
Richard
"MichDenis" a écrit :

>
>
> Bonjour Richard,
>
> Pour effacer seulement les données :
>
> With Worksheets("InscrisLeNomDeLaFeuille")
> .Range("BV12:BV" & .Range("BV65536").End(xlUp).Row).ClearContents
> End With
>
> Pour effacer les données et le format des cellules :
>
> With Worksheets("InscrisLeNomDeLaFeuille")
> .Range("BV12:BV" & .Range("BV65536").End(xlUp).Row).Clear
> End With
>
>
>
> "Richard" a écrit dans le message
> de groupe de
> discussion :
> Bonjour à tous.
>
> Je croyais que la macro suivante fonctionnait, mais ce n'est pas le cas
> ' Efface la cellule "Période d'attente"
> Range("BV" & Range("BV12").End(xlDown).Row).Resize(2,
> 0).SpecialCells(xlCellTypeConstants).ClearContents
> On Error Resume Next
> J'AI ÉGALEMENT TENTÉ CELLE-CI
> Range("BV" & Range("BV12").End(xlDown).Row).Select
> ActiveCell.ClearContents
>
> Quelqu'un peut-il me dire où est mon erreur!
>
> Merci de pouvoir m'aider
> --
> Richard
>
>




Avatar
Hervé
Oups !

remplacer Worksheet par Worksheets (avec le s)

Désolé

Hervé.

"Hervé" a écrit dans le message de
news:
Bonjour,
Et de cette façon ?

Sub Test()

On Error Resume Next

With Worksheet("Registre employé")
.[A65536].End(xlUp).Resize(2, 230).FillDown
' Efface les infos colonnes "O" à "BE"
.[C65536].End(xlUp).Resize(2, 41). _
SpecialCells(xlCellTypeConstants).ClearContents
' ' Efface la cellule "Terminaison d'emploie"
.[CH65536].End(xlUp).ClearContents
' ' Efface la cellule "Période d'attente"
.[BV65536].End(xlUp).ClearContents
' ' Efface les cellules "Budget"
.[AR65536].End(xlUp).Resize(2, 14). _
SpecialCells(xlCellTypeConstants).ClearContents
' ' Efface la cellule "Congé"
.[CF65536].End(xlUp).ClearContents
End With

' Ajoute une ligne dans la feuille "Conciliation"
With Worksheet("Conciliation")
.[I65536].End(xlUp).Resize(2, 123).FillDown
.[R65536].End(xlUp).Resize(2, 108). _
SpecialCells(xlCellTypeConstants).ClearContents
End With

' Ajoute une ligne dans la feuille "Coût indirect"
With Worksheet("Coût indirect")
.[A65536].End(xlUp).Resize(2, 40).FillDown
End With

' Ouvre les lignes 13 À 24 du fichier Employé
With Worksheet("Fiche employé")
.Rows("13:24").EntireRow.Hidden = False
.Range("E16:G16").Select
End With

End Sub


Hervé.


"Richard" a écrit dans le message de
news:
Bonsoir Mich

Je suis désolé d'être aussi rude,

J'étais empressé de te répondre et j'ai manqué de politesse.

Je te remercie de m'avoir répondu mais je t'ai répondu au préalable,
cette
macro effacait toute la ligne. Avec la macro toute entière, peut-être
pourrais-tu me dire où est erreur

Merci

--
Richard


"Richard" a écrit :

Le résultat n'est pas tout a fait ce qu je tente de faire.
Je désire copier une ligne où il y a déjà des données et des formules.
Cependant
les cellules dont il y a des données (sur la ligne que je viens
d'ajouter)
je désire les effacer.

LA MACRO QUE TU M'AS DONNÉ EFFACE TOUTE LA LIGNE

Voici la macro au complet.
Sheets("Registre employé").Select
Range("A" & Range("A12").End(xlDown).Row).Resize(2, 230).FillDown
On Error Resume Next
' Efface les infos colonnes "O" à "BE"
Range("C" & Range("C12").End(xlDown).Row).Resize(2,
41).SpecialCells(xlCellTypeConstants).ClearContents
' Efface la cellule "Terminaison d'emploie"
Range("CH" & Range("CH65000").End(xlUp).Row).Select
Selection.ClearContents
On Error Resume Next
' Efface la cellule "Période d'attente"
Range("BV" & Range("BV65000").End(xlUp).Row).Select
Selection.ClearContents
On Error Resume Next
' Efface les cellules "Budget"
Range("AR" & Range("AR12").End(xlDown).Row).Resize(2,
14).SpecialCells(xlCellTypeConstants).ClearContents
' Efface la cellule "Congé"
Range("CF" & Range("CF12").End(xlDown).Row).Select
ActiveCell.ClearContents

' Ajoute une ligne dans la feuille "Conciliation"
Sheets("Conciliation").Select
Range("I" & Range("I12").End(xlDown).Row).Resize(2, 123).FillDown
On Error Resume Next
Range("R" & Range("R12").End(xlDown).Row).Resize(2,
108).SpecialCells(xlCellTypeConstants).ClearContents
On Error Resume Next

' Ajoute une ligne dans la feuille "Coût indirect"
Sheets("Coût indirect").Select
Range("A" & Range("A12").End(xlDown).Row).Resize(2, 40).FillDown
On Error Resume Next

' Ouvre les lignes 13 À 24 du fichier Employé
Sheets("Fiche employé").Select
Rows("13:24").Select
Selection.EntireRow.Hidden = False
Range("E16:G16").Select



End Sub


--
Richard
"MichDenis" a écrit :

>
>
> Bonjour Richard,
>
> Pour effacer seulement les données :
>
> With Worksheets("InscrisLeNomDeLaFeuille")
> .Range("BV12:BV" & .Range("BV65536").End(xlUp).Row).ClearContents
> End With
>
> Pour effacer les données et le format des cellules :
>
> With Worksheets("InscrisLeNomDeLaFeuille")
> .Range("BV12:BV" & .Range("BV65536").End(xlUp).Row).Clear
> End With
>
>
>
> "Richard" a écrit dans le message
> de groupe de
> discussion :
> Bonjour à tous.
>
> Je croyais que la macro suivante fonctionnait, mais ce n'est pas le
> cas
> ' Efface la cellule "Période d'attente"
> Range("BV" & Range("BV12").End(xlDown).Row).Resize(2,
> 0).SpecialCells(xlCellTypeConstants).ClearContents
> On Error Resume Next
> J'AI ÉGALEMENT TENTÉ CELLE-CI
> Range("BV" & Range("BV12").End(xlDown).Row).Select
> ActiveCell.ClearContents
>
> Quelqu'un peut-il me dire où est mon erreur!
>
> Merci de pouvoir m'aider
> --
> Richard
>
>







Avatar
Richard
Merci pour ton aide, mais voilà ca ne fonctionne pas comme prévu à savoir;
Exemple. Si en "CH" j'ai une donné sur la dernière ligne, la macro lorsqu'on
l'applique efface les données de la nouvelle ligne. Jusque là c'est ok.
Mais si je n'ai rien sur la dernière ligne, la macro lorsqu'on l'applique
cherche la ligne ou il y a une donné elle l'efface et ça c'est pas ok.
Je désire effacer seulement les informations qui ont été copié sur la
nouvelle ligne.
Si je pouvais copier les formules et non les données je crois que cela
m'arrangerais

--
Richard


"Hervé" a écrit :

Oups !

remplacer Worksheet par Worksheets (avec le s)

Désolé

Hervé.

"Hervé" a écrit dans le message de
news:
> Bonjour,
> Et de cette façon ?
>
> Sub Test()
>
> On Error Resume Next
>
> With Worksheet("Registre employé")
> .[A65536].End(xlUp).Resize(2, 230).FillDown
> ' Efface les infos colonnes "O" à "BE"
> .[C65536].End(xlUp).Resize(2, 41). _
> SpecialCells(xlCellTypeConstants).ClearContents
> ' ' Efface la cellule "Terminaison d'emploie"
> .[CH65536].End(xlUp).ClearContents
> ' ' Efface la cellule "Période d'attente"
> .[BV65536].End(xlUp).ClearContents
> ' ' Efface les cellules "Budget"
> .[AR65536].End(xlUp).Resize(2, 14). _
> SpecialCells(xlCellTypeConstants).ClearContents
> ' ' Efface la cellule "Congé"
> .[CF65536].End(xlUp).ClearContents
> End With
>
> ' Ajoute une ligne dans la feuille "Conciliation"
> With Worksheet("Conciliation")
> .[I65536].End(xlUp).Resize(2, 123).FillDown
> .[R65536].End(xlUp).Resize(2, 108). _
> SpecialCells(xlCellTypeConstants).ClearContents
> End With
>
> ' Ajoute une ligne dans la feuille "Coût indirect"
> With Worksheet("Coût indirect")
> .[A65536].End(xlUp).Resize(2, 40).FillDown
> End With
>
> ' Ouvre les lignes 13 À 24 du fichier Employé
> With Worksheet("Fiche employé")
> .Rows("13:24").EntireRow.Hidden = False
> .Range("E16:G16").Select
> End With
>
> End Sub
>
>
> Hervé.
>
>
> "Richard" a écrit dans le message de
> news:
>> Bonsoir Mich
>>
>> Je suis désolé d'être aussi rude,
>>
>> J'étais empressé de te répondre et j'ai manqué de politesse.
>>
>> Je te remercie de m'avoir répondu mais je t'ai répondu au préalable,
>> cette
>> macro effacait toute la ligne. Avec la macro toute entière, peut-être
>> pourrais-tu me dire où est erreur
>>
>> Merci
>>
>> --
>> Richard
>>
>>
>> "Richard" a écrit :
>>
>>> Le résultat n'est pas tout a fait ce qu je tente de faire.
>>> Je désire copier une ligne où il y a déjà des données et des formules.
>>> Cependant
>>> les cellules dont il y a des données (sur la ligne que je viens
>>> d'ajouter)
>>> je désire les effacer.
>>>
>>> LA MACRO QUE TU M'AS DONNÉ EFFACE TOUTE LA LIGNE
>>>
>>> Voici la macro au complet.
>>> Sheets("Registre employé").Select
>>> Range("A" & Range("A12").End(xlDown).Row).Resize(2, 230).FillDown
>>> On Error Resume Next
>>> ' Efface les infos colonnes "O" à "BE"
>>> Range("C" & Range("C12").End(xlDown).Row).Resize(2,
>>> 41).SpecialCells(xlCellTypeConstants).ClearContents
>>> ' Efface la cellule "Terminaison d'emploie"
>>> Range("CH" & Range("CH65000").End(xlUp).Row).Select
>>> Selection.ClearContents
>>> On Error Resume Next
>>> ' Efface la cellule "Période d'attente"
>>> Range("BV" & Range("BV65000").End(xlUp).Row).Select
>>> Selection.ClearContents
>>> On Error Resume Next
>>> ' Efface les cellules "Budget"
>>> Range("AR" & Range("AR12").End(xlDown).Row).Resize(2,
>>> 14).SpecialCells(xlCellTypeConstants).ClearContents
>>> ' Efface la cellule "Congé"
>>> Range("CF" & Range("CF12").End(xlDown).Row).Select
>>> ActiveCell.ClearContents
>>>
>>> ' Ajoute une ligne dans la feuille "Conciliation"
>>> Sheets("Conciliation").Select
>>> Range("I" & Range("I12").End(xlDown).Row).Resize(2, 123).FillDown
>>> On Error Resume Next
>>> Range("R" & Range("R12").End(xlDown).Row).Resize(2,
>>> 108).SpecialCells(xlCellTypeConstants).ClearContents
>>> On Error Resume Next
>>>
>>> ' Ajoute une ligne dans la feuille "Coût indirect"
>>> Sheets("Coût indirect").Select
>>> Range("A" & Range("A12").End(xlDown).Row).Resize(2, 40).FillDown
>>> On Error Resume Next
>>>
>>> ' Ouvre les lignes 13 À 24 du fichier Employé
>>> Sheets("Fiche employé").Select
>>> Rows("13:24").Select
>>> Selection.EntireRow.Hidden = False
>>> Range("E16:G16").Select
>>>
>>>
>>>
>>> End Sub
>>>
>>>
>>> --
>>> Richard
>>> "MichDenis" a écrit :
>>>
>>> >
>>> >
>>> > Bonjour Richard,
>>> >
>>> > Pour effacer seulement les données :
>>> >
>>> > With Worksheets("InscrisLeNomDeLaFeuille")
>>> > .Range("BV12:BV" & .Range("BV65536").End(xlUp).Row).ClearContents
>>> > End With
>>> >
>>> > Pour effacer les données et le format des cellules :
>>> >
>>> > With Worksheets("InscrisLeNomDeLaFeuille")
>>> > .Range("BV12:BV" & .Range("BV65536").End(xlUp).Row).Clear
>>> > End With
>>> >
>>> >
>>> >
>>> > "Richard" a écrit dans le message
>>> > de groupe de
>>> > discussion :
>>> > Bonjour à tous.
>>> >
>>> > Je croyais que la macro suivante fonctionnait, mais ce n'est pas le
>>> > cas
>>> > ' Efface la cellule "Période d'attente"
>>> > Range("BV" & Range("BV12").End(xlDown).Row).Resize(2,
>>> > 0).SpecialCells(xlCellTypeConstants).ClearContents
>>> > On Error Resume Next
>>> > J'AI ÉGALEMENT TENTÉ CELLE-CI
>>> > Range("BV" & Range("BV12").End(xlDown).Row).Select
>>> > ActiveCell.ClearContents
>>> >
>>> > Quelqu'un peut-il me dire où est mon erreur!
>>> >
>>> > Merci de pouvoir m'aider
>>> > --
>>> > Richard
>>> >
>>> >
>



Avatar
Richard
À propos, un offset ferait-il l'affaire?
--
Richard


"Hervé" a écrit :

Oups !

remplacer Worksheet par Worksheets (avec le s)

Désolé

Hervé.

"Hervé" a écrit dans le message de
news:
> Bonjour,
> Et de cette façon ?
>
> Sub Test()
>
> On Error Resume Next
>
> With Worksheet("Registre employé")
> .[A65536].End(xlUp).Resize(2, 230).FillDown
> ' Efface les infos colonnes "O" à "BE"
> .[C65536].End(xlUp).Resize(2, 41). _
> SpecialCells(xlCellTypeConstants).ClearContents
> ' ' Efface la cellule "Terminaison d'emploie"
> .[CH65536].End(xlUp).ClearContents
> ' ' Efface la cellule "Période d'attente"
> .[BV65536].End(xlUp).ClearContents
> ' ' Efface les cellules "Budget"
> .[AR65536].End(xlUp).Resize(2, 14). _
> SpecialCells(xlCellTypeConstants).ClearContents
> ' ' Efface la cellule "Congé"
> .[CF65536].End(xlUp).ClearContents
> End With
>
> ' Ajoute une ligne dans la feuille "Conciliation"
> With Worksheet("Conciliation")
> .[I65536].End(xlUp).Resize(2, 123).FillDown
> .[R65536].End(xlUp).Resize(2, 108). _
> SpecialCells(xlCellTypeConstants).ClearContents
> End With
>
> ' Ajoute une ligne dans la feuille "Coût indirect"
> With Worksheet("Coût indirect")
> .[A65536].End(xlUp).Resize(2, 40).FillDown
> End With
>
> ' Ouvre les lignes 13 À 24 du fichier Employé
> With Worksheet("Fiche employé")
> .Rows("13:24").EntireRow.Hidden = False
> .Range("E16:G16").Select
> End With
>
> End Sub
>
>
> Hervé.
>
>
> "Richard" a écrit dans le message de
> news:
>> Bonsoir Mich
>>
>> Je suis désolé d'être aussi rude,
>>
>> J'étais empressé de te répondre et j'ai manqué de politesse.
>>
>> Je te remercie de m'avoir répondu mais je t'ai répondu au préalable,
>> cette
>> macro effacait toute la ligne. Avec la macro toute entière, peut-être
>> pourrais-tu me dire où est erreur
>>
>> Merci
>>
>> --
>> Richard
>>
>>
>> "Richard" a écrit :
>>
>>> Le résultat n'est pas tout a fait ce qu je tente de faire.
>>> Je désire copier une ligne où il y a déjà des données et des formules.
>>> Cependant
>>> les cellules dont il y a des données (sur la ligne que je viens
>>> d'ajouter)
>>> je désire les effacer.
>>>
>>> LA MACRO QUE TU M'AS DONNÉ EFFACE TOUTE LA LIGNE
>>>
>>> Voici la macro au complet.
>>> Sheets("Registre employé").Select
>>> Range("A" & Range("A12").End(xlDown).Row).Resize(2, 230).FillDown
>>> On Error Resume Next
>>> ' Efface les infos colonnes "O" à "BE"
>>> Range("C" & Range("C12").End(xlDown).Row).Resize(2,
>>> 41).SpecialCells(xlCellTypeConstants).ClearContents
>>> ' Efface la cellule "Terminaison d'emploie"
>>> Range("CH" & Range("CH65000").End(xlUp).Row).Select
>>> Selection.ClearContents
>>> On Error Resume Next
>>> ' Efface la cellule "Période d'attente"
>>> Range("BV" & Range("BV65000").End(xlUp).Row).Select
>>> Selection.ClearContents
>>> On Error Resume Next
>>> ' Efface les cellules "Budget"
>>> Range("AR" & Range("AR12").End(xlDown).Row).Resize(2,
>>> 14).SpecialCells(xlCellTypeConstants).ClearContents
>>> ' Efface la cellule "Congé"
>>> Range("CF" & Range("CF12").End(xlDown).Row).Select
>>> ActiveCell.ClearContents
>>>
>>> ' Ajoute une ligne dans la feuille "Conciliation"
>>> Sheets("Conciliation").Select
>>> Range("I" & Range("I12").End(xlDown).Row).Resize(2, 123).FillDown
>>> On Error Resume Next
>>> Range("R" & Range("R12").End(xlDown).Row).Resize(2,
>>> 108).SpecialCells(xlCellTypeConstants).ClearContents
>>> On Error Resume Next
>>>
>>> ' Ajoute une ligne dans la feuille "Coût indirect"
>>> Sheets("Coût indirect").Select
>>> Range("A" & Range("A12").End(xlDown).Row).Resize(2, 40).FillDown
>>> On Error Resume Next
>>>
>>> ' Ouvre les lignes 13 À 24 du fichier Employé
>>> Sheets("Fiche employé").Select
>>> Rows("13:24").Select
>>> Selection.EntireRow.Hidden = False
>>> Range("E16:G16").Select
>>>
>>>
>>>
>>> End Sub
>>>
>>>
>>> --
>>> Richard
>>> "MichDenis" a écrit :
>>>
>>> >
>>> >
>>> > Bonjour Richard,
>>> >
>>> > Pour effacer seulement les données :
>>> >
>>> > With Worksheets("InscrisLeNomDeLaFeuille")
>>> > .Range("BV12:BV" & .Range("BV65536").End(xlUp).Row).ClearContents
>>> > End With
>>> >
>>> > Pour effacer les données et le format des cellules :
>>> >
>>> > With Worksheets("InscrisLeNomDeLaFeuille")
>>> > .Range("BV12:BV" & .Range("BV65536").End(xlUp).Row).Clear
>>> > End With
>>> >
>>> >
>>> >
>>> > "Richard" a écrit dans le message
>>> > de groupe de
>>> > discussion :
>>> > Bonjour à tous.
>>> >
>>> > Je croyais que la macro suivante fonctionnait, mais ce n'est pas le
>>> > cas
>>> > ' Efface la cellule "Période d'attente"
>>> > Range("BV" & Range("BV12").End(xlDown).Row).Resize(2,
>>> > 0).SpecialCells(xlCellTypeConstants).ClearContents
>>> > On Error Resume Next
>>> > J'AI ÉGALEMENT TENTÉ CELLE-CI
>>> > Range("BV" & Range("BV12").End(xlDown).Row).Select
>>> > ActiveCell.ClearContents
>>> >
>>> > Quelqu'un peut-il me dire où est mon erreur!
>>> >
>>> > Merci de pouvoir m'aider
>>> > --
>>> > Richard
>>> >
>>> >
>



Avatar
MichDenis
Que tu affiches ton code dans ton message, c'est très bien.
Mais si le répondeur doit se baser sur du code qui ne fonctionne
pas pour découvrir ce que le demandeur désire, il ne faut pas
te surprendre si des propositions de solutions ne pleuvent pas.

À mes yeux, la formulation n'est pas claire !
Les répondeurs, tous bénévoles, n'ont pas nécessairement envie
de passer un temps fou juste pour essayer de comprendre la
question !
Avatar
Richard
Je te remercie de ta suggestion. Je vais simplifier la codification.
--
Richard


"MichDenis" a écrit :

Que tu affiches ton code dans ton message, c'est très bien.
Mais si le répondeur doit se baser sur du code qui ne fonctionne
pas pour découvrir ce que le demandeur désire, il ne faut pas
te surprendre si des propositions de solutions ne pleuvent pas.

À mes yeux, la formulation n'est pas claire !
Les répondeurs, tous bénévoles, n'ont pas nécessairement envie
de passer un temps fou juste pour essayer de comprendre la
question !




Avatar
Hervé
Bonjour Richard,

Effectivement, comme je pensais que toutes les cellules étaient remplies, le
fait de rechercher la première cellule d'une colonne était la bonne mais
dans le cas où la cellule est vide la recherche remonte jusqu'à trouver une
cellule pleine qui elle peut se trouver au milieu de la zone. Avec la façon
indiquée ci-dessous, la dernière cellule non vide est recherchée sur la
colonne A puis après recopie la nouvelle ligne est mémorisée (DL = DL + 1)
pour y faire référence que les cellules soient pleines ou vides.
Teste ceci :
Sub Test()

Dim DL As Long

On Error Resume Next

With Worksheet("Registre employé")
DL = .[A65536].End(xlUp).Row
.Range("A" & DL).Resize(2, 230).FillDown
DL = DL + 1
' Efface les infos colonnes "O" à "BE"
.Range("C" & DL).Resize(2, 41). _
SpecialCells(xlCellTypeConstants).ClearContents
' ' Efface la cellule "Terminaison d'emploie"
.Range("CH" & DL).ClearContents
' ' Efface la cellule "Période d'attente"
.Range("BV" & DL).ClearContents
' ' Efface les cellules "Budget"
.Range("AR" & DL).Resize(2, 14). _
SpecialCells(xlCellTypeConstants).ClearContents
' ' Efface la cellule "Congé"
.Range("CF" & DL).ClearContents
End With

' Ajoute une ligne dans la feuille "Conciliation"
With Worksheet("Conciliation")
DL = .[A65536].End(xlUp).Row
.Range("I" & DL).Resize(2, 123).FillDown
DL = DL + 1
.Range("R" & DL).Resize(2, 108). _
SpecialCells(xlCellTypeConstants).ClearContents
End With

' Ajoute une ligne dans la feuille "Coût indirect"
With Worksheet("Coût indirect")
.[A65536].End(xlUp).Resize(2, 40).FillDown
End With

' Ouvre les lignes 13 À 24 du fichier Employé
With Worksheet("Fiche employé")
.Rows("13:24").EntireRow.Hidden = False
.Range("E16:G16").Select
End With

End Sub


Hervé.


"Richard" a écrit dans le message de
news:
À propos, un offset ferait-il l'affaire?
--
Richard


"Hervé" a écrit :

Oups !

remplacer Worksheet par Worksheets (avec le s)

Désolé

Hervé.

"Hervé" a écrit dans le message de
news:
> Bonjour,
> Et de cette façon ?
>
> Sub Test()
>
> On Error Resume Next
>
> With Worksheet("Registre employé")
> .[A65536].End(xlUp).Resize(2, 230).FillDown
> ' Efface les infos colonnes "O" à "BE"
> .[C65536].End(xlUp).Resize(2, 41). _
> SpecialCells(xlCellTypeConstants).ClearContents
> ' ' Efface la cellule "Terminaison d'emploie"
> .[CH65536].End(xlUp).ClearContents
> ' ' Efface la cellule "Période d'attente"
> .[BV65536].End(xlUp).ClearContents
> ' ' Efface les cellules "Budget"
> .[AR65536].End(xlUp).Resize(2, 14). _
> SpecialCells(xlCellTypeConstants).ClearContents
> ' ' Efface la cellule "Congé"
> .[CF65536].End(xlUp).ClearContents
> End With
>
> ' Ajoute une ligne dans la feuille "Conciliation"
> With Worksheet("Conciliation")
> .[I65536].End(xlUp).Resize(2, 123).FillDown
> .[R65536].End(xlUp).Resize(2, 108). _
> SpecialCells(xlCellTypeConstants).ClearContents
> End With
>
> ' Ajoute une ligne dans la feuille "Coût indirect"
> With Worksheet("Coût indirect")
> .[A65536].End(xlUp).Resize(2, 40).FillDown
> End With
>
> ' Ouvre les lignes 13 À 24 du fichier Employé
> With Worksheet("Fiche employé")
> .Rows("13:24").EntireRow.Hidden = False
> .Range("E16:G16").Select
> End With
>
> End Sub
>
>
> Hervé.
>
>
> "Richard" a écrit dans le message
> de
> news:
>> Bonsoir Mich
>>
>> Je suis désolé d'être aussi rude,
>>
>> J'étais empressé de te répondre et j'ai manqué de politesse.
>>
>> Je te remercie de m'avoir répondu mais je t'ai répondu au préalable,
>> cette
>> macro effacait toute la ligne. Avec la macro toute entière, peut-être
>> pourrais-tu me dire où est erreur
>>
>> Merci
>>
>> --
>> Richard
>>
>>
>> "Richard" a écrit :
>>
>>> Le résultat n'est pas tout a fait ce qu je tente de faire.
>>> Je désire copier une ligne où il y a déjà des données et des
>>> formules.
>>> Cependant
>>> les cellules dont il y a des données (sur la ligne que je viens
>>> d'ajouter)
>>> je désire les effacer.
>>>
>>> LA MACRO QUE TU M'AS DONNÉ EFFACE TOUTE LA LIGNE
>>>
>>> Voici la macro au complet.
>>> Sheets("Registre employé").Select
>>> Range("A" & Range("A12").End(xlDown).Row).Resize(2, 230).FillDown
>>> On Error Resume Next
>>> ' Efface les infos colonnes "O" à "BE"
>>> Range("C" & Range("C12").End(xlDown).Row).Resize(2,
>>> 41).SpecialCells(xlCellTypeConstants).ClearContents
>>> ' Efface la cellule "Terminaison d'emploie"
>>> Range("CH" & Range("CH65000").End(xlUp).Row).Select
>>> Selection.ClearContents
>>> On Error Resume Next
>>> ' Efface la cellule "Période d'attente"
>>> Range("BV" & Range("BV65000").End(xlUp).Row).Select
>>> Selection.ClearContents
>>> On Error Resume Next
>>> ' Efface les cellules "Budget"
>>> Range("AR" & Range("AR12").End(xlDown).Row).Resize(2,
>>> 14).SpecialCells(xlCellTypeConstants).ClearContents
>>> ' Efface la cellule "Congé"
>>> Range("CF" & Range("CF12").End(xlDown).Row).Select
>>> ActiveCell.ClearContents
>>>
>>> ' Ajoute une ligne dans la feuille "Conciliation"
>>> Sheets("Conciliation").Select
>>> Range("I" & Range("I12").End(xlDown).Row).Resize(2, 123).FillDown
>>> On Error Resume Next
>>> Range("R" & Range("R12").End(xlDown).Row).Resize(2,
>>> 108).SpecialCells(xlCellTypeConstants).ClearContents
>>> On Error Resume Next
>>>
>>> ' Ajoute une ligne dans la feuille "Coût indirect"
>>> Sheets("Coût indirect").Select
>>> Range("A" & Range("A12").End(xlDown).Row).Resize(2, 40).FillDown
>>> On Error Resume Next
>>>
>>> ' Ouvre les lignes 13 À 24 du fichier Employé
>>> Sheets("Fiche employé").Select
>>> Rows("13:24").Select
>>> Selection.EntireRow.Hidden = False
>>> Range("E16:G16").Select
>>>
>>>
>>>
>>> End Sub
>>>
>>>
>>> --
>>> Richard
>>> "MichDenis" a écrit :
>>>
>>> >
>>> >
>>> > Bonjour Richard,
>>> >
>>> > Pour effacer seulement les données :
>>> >
>>> > With Worksheets("InscrisLeNomDeLaFeuille")
>>> > .Range("BV12:BV" &
>>> > .Range("BV65536").End(xlUp).Row).ClearContents
>>> > End With
>>> >
>>> > Pour effacer les données et le format des cellules :
>>> >
>>> > With Worksheets("InscrisLeNomDeLaFeuille")
>>> > .Range("BV12:BV" & .Range("BV65536").End(xlUp).Row).Clear
>>> > End With
>>> >
>>> >
>>> >
>>> > "Richard" a écrit dans le
>>> > message
>>> > de groupe de
>>> > discussion :
>>> > Bonjour à tous.
>>> >
>>> > Je croyais que la macro suivante fonctionnait, mais ce n'est pas le
>>> > cas
>>> > ' Efface la cellule "Période d'attente"
>>> > Range("BV" & Range("BV12").End(xlDown).Row).Resize(2,
>>> > 0).SpecialCells(xlCellTypeConstants).ClearContents
>>> > On Error Resume Next
>>> > J'AI ÉGALEMENT TENTÉ CELLE-CI
>>> > Range("BV" & Range("BV12").End(xlDown).Row).Select
>>> > ActiveCell.ClearContents
>>> >
>>> > Quelqu'un peut-il me dire où est mon erreur!
>>> >
>>> > Merci de pouvoir m'aider
>>> > --
>>> > Richard
>>> >
>>> >
>