Bonjour,
Je vais essayer d'être le plus précis possible pour ne pas avoir à joindre
mon fichier Excel qui contient trop de données sensible..
Je travaille sur un fichier Excel (que je n'ai pas créé) assez complexe avec
beaucoup de VBA.
Sur ce fichier, il y a plusieurs feuilles dont une qui s'appelle "feuille
enregistrement" où l'on va enregistrer plusieurs informations à partir de
liste définie avant d'appuyer sur un bouton enregistrement et une autre
feuille qui s'appelle "Contrôles" où l'on va retrouver toutes les
informations qui ont été enregistrées, ligne par ligne.
Le problème survient lorsque je vais dans la feuille "Contrôles" et que je
supprime toutes les données.
Les données sont supprimées mais lorsque j'effectue un nouvel enregistrement,
au lieu de redémarrer le tableau à la ligne 2, le tableau commence à la ligne
1500, à la suite du précédent qui vient d'être supprimé...
Bonjour,
Je vais essayer d'être le plus précis possible pour ne pas avoir à joindre
mon fichier Excel qui contient trop de données sensible..
Je travaille sur un fichier Excel (que je n'ai pas créé) assez complexe avec
beaucoup de VBA.
Sur ce fichier, il y a plusieurs feuilles dont une qui s'appelle "feuille
enregistrement" où l'on va enregistrer plusieurs informations à partir de
liste définie avant d'appuyer sur un bouton enregistrement et une autre
feuille qui s'appelle "Contrôles" où l'on va retrouver toutes les
informations qui ont été enregistrées, ligne par ligne.
Le problème survient lorsque je vais dans la feuille "Contrôles" et que je
supprime toutes les données.
Les données sont supprimées mais lorsque j'effectue un nouvel enregistrement,
au lieu de redémarrer le tableau à la ligne 2, le tableau commence à la ligne
1500, à la suite du précédent qui vient d'être supprimé...
Bonjour,
Je vais essayer d'être le plus précis possible pour ne pas avoir à joindre
mon fichier Excel qui contient trop de données sensible..
Je travaille sur un fichier Excel (que je n'ai pas créé) assez complexe avec
beaucoup de VBA.
Sur ce fichier, il y a plusieurs feuilles dont une qui s'appelle "feuille
enregistrement" où l'on va enregistrer plusieurs informations à partir de
liste définie avant d'appuyer sur un bouton enregistrement et une autre
feuille qui s'appelle "Contrôles" où l'on va retrouver toutes les
informations qui ont été enregistrées, ligne par ligne.
Le problème survient lorsque je vais dans la feuille "Contrôles" et que je
supprime toutes les données.
Les données sont supprimées mais lorsque j'effectue un nouvel enregistrement,
au lieu de redémarrer le tableau à la ligne 2, le tableau commence à la ligne
1500, à la suite du précédent qui vient d'être supprimé...
Bonjour,Bonjour,
Je vais essayer d'être le plus précis possible pour ne pas avoir
à joindre mon fichier Excel qui contient trop de données
sensible..
Je travaille sur un fichier Excel (que je n'ai pas créé) assez
complexe avec beaucoup de VBA.
Sur ce fichier, il y a plusieurs feuilles dont une qui s'appelle "feuille
enregistrement" où l'on va enregistrer plusieurs informations
à partir de liste définie avant d'appuyer sur un bouton
enregistrement et une autre feuille qui s'appelle "Contrôles"
où l'on va retrouver toutes les informations qui ont été
enregistrées, ligne par ligne.
Le problème survient lorsque je vais dans la feuille
"Contrôles" et que je supprime toutes les données.
Les données sont supprimées mais lorsque j'effectue un nouvel
enregistrement, au lieu de redémarrer le tableau à la ligne 2, le
tableau commence à la ligne 1500, à la suite du
précédent qui vient d'être supprimé...
Quels solutions ?
Voici le début de la macro. Je suppose que c'est par ici qu'il y a des
modifications à effectuer..
Sub Enregistrement()
'
Application.ScreenUpdating = False
Sheets("Contr?les").Select
Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
Merci d'avance pour vos réponses !
Bonjour,Bonjour,
Je vais essayer d'être le plus précis possible pour ne pas avoir
à joindre mon fichier Excel qui contient trop de données
sensible..
Je travaille sur un fichier Excel (que je n'ai pas créé) assez
complexe avec beaucoup de VBA.
Sur ce fichier, il y a plusieurs feuilles dont une qui s'appelle "feuille
enregistrement" où l'on va enregistrer plusieurs informations
à partir de liste définie avant d'appuyer sur un bouton
enregistrement et une autre feuille qui s'appelle "Contrôles"
où l'on va retrouver toutes les informations qui ont été
enregistrées, ligne par ligne.
Le problème survient lorsque je vais dans la feuille
"Contrôles" et que je supprime toutes les données.
Les données sont supprimées mais lorsque j'effectue un nouvel
enregistrement, au lieu de redémarrer le tableau à la ligne 2, le
tableau commence à la ligne 1500, à la suite du
précédent qui vient d'être supprimé...
Quels solutions ?
Voici le début de la macro. Je suppose que c'est par ici qu'il y a des
modifications à effectuer..
Sub Enregistrement()
'
Application.ScreenUpdating = False
Sheets("Contr?les").Select
Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
Merci d'avance pour vos réponses !
A )Pour répondre à tes questions :
Est-ce que l'extension du fichier est .xls ou .xlsm ?
B )
Par quelle manipulation effaces-tu les données? Est-ce que la feuille
est totalement vide?
C )
Est-ce que cette plage de données est définie comme étant
un "TABLEAU" ?
D )
Dans la macro, lorsque tu as effacé les données, quelle est la
valeur
de la variable "DernLigne ?
Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
Msgbox DernLigne
D )
Dans un fichier où il y a plusieurs macros, sans voir ces
dernières, il
est difficile de savoir si l'une d'entre elles interfère avec ce que tu
tentes de faire!
MichD
A )Pour répondre à tes questions :
Est-ce que l'extension du fichier est .xls ou .xlsm ?
B )
Par quelle manipulation effaces-tu les données? Est-ce que la feuille
est totalement vide?
C )
Est-ce que cette plage de données est définie comme étant
un "TABLEAU" ?
D )
Dans la macro, lorsque tu as effacé les données, quelle est la
valeur
de la variable "DernLigne ?
Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
Msgbox DernLigne
D )
Dans un fichier où il y a plusieurs macros, sans voir ces
dernières, il
est difficile de savoir si l'une d'entre elles interfère avec ce que tu
tentes de faire!
MichD
Le vendredi 21 Décembre 2018 à 12:31 par MichD :A )
Est-ce que l'extension du fichier est .xls ou .xlsm ?
B )
Par quelle manipulation effaces-tu les données? Est-ce que la feuille
est totalement vide?
C )
Est-ce que cette plage de données est définie comme étant
un "TABLEAU" ?
D )
Dans la macro, lorsque tu as effacé les données, quelle est la
valeur
de la variable "DernLigne ?
Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
Msgbox DernLigne
D )
Dans un fichier où il y a plusieurs macros, sans voir ces
dernières, il
est difficile de savoir si l'une d'entre elles interfère avec ce que tu
tentes de faire!
MichD
Pour répondre à tes questions :
A) L'extension du fichier est .xlsm.
B) J'ai utilisé 2 manipulations différentes pour effacer les données pour le
même résultat. Soit j'efface les lignes soit je sélectionne les données que je
veux supprimer et j'efface. La feuille n'est pas vide. Il reste au moins la 1ère
ligne avec les en têtes de colonnes et pour la seconde manipulation, il reste
aussi 2 formules dans 2 colonnes.
C) La plage de données est bien un tableau. Lorsque j'efface les données et que
j'en enregistre de nouvelle, elles viennent se coller à la première ligne à
l'extérieur du tableau.
D) La variable de la dernière ligne est la suivante :
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
E) Je sais bien que c'est compliqué voir infaisable sans voir les macros mais je
ne peux vraiment pas le mettre en ligne.
Merci de ton aide, je vais continuer à creuser de mon côté ! :)
Le vendredi 21 Décembre 2018 à 12:31 par MichD :
A )
Est-ce que l'extension du fichier est .xls ou .xlsm ?
B )
Par quelle manipulation effaces-tu les données? Est-ce que la feuille
est totalement vide?
C )
Est-ce que cette plage de données est définie comme étant
un "TABLEAU" ?
D )
Dans la macro, lorsque tu as effacé les données, quelle est la
valeur
de la variable "DernLigne ?
Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
Msgbox DernLigne
D )
Dans un fichier où il y a plusieurs macros, sans voir ces
dernières, il
est difficile de savoir si l'une d'entre elles interfère avec ce que tu
tentes de faire!
MichD
Pour répondre à tes questions :
A) L'extension du fichier est .xlsm.
B) J'ai utilisé 2 manipulations différentes pour effacer les données pour le
même résultat. Soit j'efface les lignes soit je sélectionne les données que je
veux supprimer et j'efface. La feuille n'est pas vide. Il reste au moins la 1ère
ligne avec les en têtes de colonnes et pour la seconde manipulation, il reste
aussi 2 formules dans 2 colonnes.
C) La plage de données est bien un tableau. Lorsque j'efface les données et que
j'en enregistre de nouvelle, elles viennent se coller à la première ligne à
l'extérieur du tableau.
D) La variable de la dernière ligne est la suivante :
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
E) Je sais bien que c'est compliqué voir infaisable sans voir les macros mais je
ne peux vraiment pas le mettre en ligne.
Merci de ton aide, je vais continuer à creuser de mon côté ! :)
Le vendredi 21 Décembre 2018 à 12:31 par MichD :A )
Est-ce que l'extension du fichier est .xls ou .xlsm ?
B )
Par quelle manipulation effaces-tu les données? Est-ce que la feuille
est totalement vide?
C )
Est-ce que cette plage de données est définie comme étant
un "TABLEAU" ?
D )
Dans la macro, lorsque tu as effacé les données, quelle est la
valeur
de la variable "DernLigne ?
Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
Msgbox DernLigne
D )
Dans un fichier où il y a plusieurs macros, sans voir ces
dernières, il
est difficile de savoir si l'une d'entre elles interfère avec ce que tu
tentes de faire!
MichD
Pour répondre à tes questions :
A) L'extension du fichier est .xlsm.
B) J'ai utilisé 2 manipulations différentes pour effacer les données pour le
même résultat. Soit j'efface les lignes soit je sélectionne les données que je
veux supprimer et j'efface. La feuille n'est pas vide. Il reste au moins la 1ère
ligne avec les en têtes de colonnes et pour la seconde manipulation, il reste
aussi 2 formules dans 2 colonnes.
C) La plage de données est bien un tableau. Lorsque j'efface les données et que
j'en enregistre de nouvelle, elles viennent se coller à la première ligne à
l'extérieur du tableau.
D) La variable de la dernière ligne est la suivante :
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
E) Je sais bien que c'est compliqué voir infaisable sans voir les macros mais je
ne peux vraiment pas le mettre en ligne.
Merci de ton aide, je vais continuer à creuser de mon côté ! :)
Le 26/déc./2018 à 05:54, corent38 a écrit :Si j'ai bien compris, la ligne (ci-dessous) permet de déterminer la dernière ligne du tableau qu'il y ait une donnée ou non.Le vendredi 21 Décembre 2018 à 12:31 par MichD :En VBA,A )Pour répondre à tes questions :
Est-ce que l'extension du fichier est .xls ou .xlsm ?
B )
Par quelle manipulation effaces-tu les données? Est-ce que la feuille
est totalement vide?
C )
Est-ce que cette plage de données est définie comme
étant
un "TABLEAU" ?
D )
Dans la macro, lorsque tu as effacé les données, quelle est la
valeur
de la variable "DernLigne ?
Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
Msgbox DernLigne
D )
Dans un fichier où il y a plusieurs macros, sans voir ces
dernières, il
est difficile de savoir si l'une d'entre elles interfère avec ce que
tu
tentes de faire!
MichD
A) L'extension du fichier est .xlsm.
B) J'ai utilisé 2 manipulations différentes pour effacer les
données pour le
même résultat. Soit j'efface les lignes soit je
sélectionne les données que je
veux supprimer et j'efface. La feuille n'est pas vide. Il reste au moins la
1ère
ligne avec les en têtes de colonnes et pour la seconde manipulation, il
reste
aussi 2 formules dans 2 colonnes.
C) La plage de données est bien un tableau. Lorsque j'efface les
données et que
j'en enregistre de nouvelle, elles viennent se coller à la
première ligne à
l'extérieur du tableau.
D) La variable de la dernière ligne est la suivante :
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
E) Je sais bien que c'est compliqué voir infaisable sans voir les
macros mais je
ne peux vraiment pas le mettre en ligne.
Merci de ton aide, je vais continuer à creuser de mon côté
! :)
'Pour supprimer toutes les lignes de données contenues dans le tableau.
'Ce ne sont pas les lignes complètes de la feuille qui sont
supprimées
'mais seulement les colonnes du tableau (table)
Worksheets("Feuil2).ListObjects("Tableau1").DataBodyRange.Rows.Delete
'Ccompte le nombre de ligne de données dans un tableau
X = Worksheets("Feuil2).ListObjects("Tableau1").ListRows.Count
'Détermine la dernière ligne du tableau qu'il y ait une
donnée ou non.
With Worksheets("Feuil2)
X = .Range("A" & .Rows.Count).End(xlUp).Row
End With
Désolé, je n'ai jamais eu à traiter un classeur ayant la
problématique
que tu rencontres.
MichD
Le 26/déc./2018 à 05:54, corent38 a écrit :Si j'ai bien compris, la ligne (ci-dessous) permet de déterminer la dernière ligne du tableau qu'il y ait une donnée ou non.Le vendredi 21 Décembre 2018 à 12:31 par MichD :En VBA,A )Pour répondre à tes questions :
Est-ce que l'extension du fichier est .xls ou .xlsm ?
B )
Par quelle manipulation effaces-tu les données? Est-ce que la feuille
est totalement vide?
C )
Est-ce que cette plage de données est définie comme
étant
un "TABLEAU" ?
D )
Dans la macro, lorsque tu as effacé les données, quelle est la
valeur
de la variable "DernLigne ?
Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
Msgbox DernLigne
D )
Dans un fichier où il y a plusieurs macros, sans voir ces
dernières, il
est difficile de savoir si l'une d'entre elles interfère avec ce que
tu
tentes de faire!
MichD
A) L'extension du fichier est .xlsm.
B) J'ai utilisé 2 manipulations différentes pour effacer les
données pour le
même résultat. Soit j'efface les lignes soit je
sélectionne les données que je
veux supprimer et j'efface. La feuille n'est pas vide. Il reste au moins la
1ère
ligne avec les en têtes de colonnes et pour la seconde manipulation, il
reste
aussi 2 formules dans 2 colonnes.
C) La plage de données est bien un tableau. Lorsque j'efface les
données et que
j'en enregistre de nouvelle, elles viennent se coller à la
première ligne à
l'extérieur du tableau.
D) La variable de la dernière ligne est la suivante :
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
E) Je sais bien que c'est compliqué voir infaisable sans voir les
macros mais je
ne peux vraiment pas le mettre en ligne.
Merci de ton aide, je vais continuer à creuser de mon côté
! :)
'Pour supprimer toutes les lignes de données contenues dans le tableau.
'Ce ne sont pas les lignes complètes de la feuille qui sont
supprimées
'mais seulement les colonnes du tableau (table)
Worksheets("Feuil2).ListObjects("Tableau1").DataBodyRange.Rows.Delete
'Ccompte le nombre de ligne de données dans un tableau
X = Worksheets("Feuil2).ListObjects("Tableau1").ListRows.Count
'Détermine la dernière ligne du tableau qu'il y ait une
donnée ou non.
With Worksheets("Feuil2)
X = .Range("A" & .Rows.Count).End(xlUp).Row
End With
Désolé, je n'ai jamais eu à traiter un classeur ayant la
problématique
que tu rencontres.
MichD
Si j'ai bien compris, la ligne (ci-dessous) permet de déterminer la dernière
ligne du tableau qu'il y ait une donnée ou non.
X = .Range("A" & .Rows.Count).End(xlUp).Row
Est-ce que le problème ne viendrai pas de là ? Moi je souhaite savoir quelle est
la 1ère ligne vide du tableau (à partir de la cellule A éventuellement) pour
pouvoir y coller mes données ?
Si ça peut t'aider, je peux coller la macro (qui est très longue) dans un post..
Si j'ai bien compris, la ligne (ci-dessous) permet de déterminer la dernière
ligne du tableau qu'il y ait une donnée ou non.
X = .Range("A" & .Rows.Count).End(xlUp).Row
Est-ce que le problème ne viendrai pas de là ? Moi je souhaite savoir quelle est
la 1ère ligne vide du tableau (à partir de la cellule A éventuellement) pour
pouvoir y coller mes données ?
Si ça peut t'aider, je peux coller la macro (qui est très longue) dans un post..
Si j'ai bien compris, la ligne (ci-dessous) permet de déterminer la dernière
ligne du tableau qu'il y ait une donnée ou non.
X = .Range("A" & .Rows.Count).End(xlUp).Row
Est-ce que le problème ne viendrai pas de là ? Moi je souhaite savoir quelle est
la 1ère ligne vide du tableau (à partir de la cellule A éventuellement) pour
pouvoir y coller mes données ?
Si ça peut t'aider, je peux coller la macro (qui est très longue) dans un post..
Le mercredi 26 Décembre 2018 à 19:14 par MichD :Le 26/déc./2018 à 05:54, corent38 a écrit :Le vendredi 21 Décembre 2018 à 12:31 par MichD :A )
Est-ce que l'extension du fichier est .xls ou .xlsm ?
B )
Par quelle manipulation effaces-tu les données? Est-ce que la feuille
est totalement vide?
C )
Est-ce que cette plage de données est définie comme
étant
un "TABLEAU" ?
D )
Dans la macro, lorsque tu as effacé les données, quelle est la
valeur
de la variable "DernLigne ?
Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
Msgbox DernLigne
D )
Dans un fichier où il y a plusieurs macros, sans voir ces
dernières, il
est difficile de savoir si l'une d'entre elles interfère avec ce que
tu
tentes de faire!
MichD
Pour répondre à tes questions :
A) L'extension du fichier est .xlsm.
B) J'ai utilisé 2 manipulations différentes pour effacer les
données pour le
même résultat. Soit j'efface les lignes soit je
sélectionne les données que je
veux supprimer et j'efface. La feuille n'est pas vide. Il reste au moins la
1ère
ligne avec les en têtes de colonnes et pour la seconde manipulation, il
reste
aussi 2 formules dans 2 colonnes.
C) La plage de données est bien un tableau. Lorsque j'efface les
données et que
j'en enregistre de nouvelle, elles viennent se coller à la
première ligne à
l'extérieur du tableau.
D) La variable de la dernière ligne est la suivante :
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
E) Je sais bien que c'est compliqué voir infaisable sans voir les
macros mais je
ne peux vraiment pas le mettre en ligne.
Merci de ton aide, je vais continuer à creuser de mon côté
! :)
En VBA,
'Pour supprimer toutes les lignes de données contenues dans le tableau.
'Ce ne sont pas les lignes complètes de la feuille qui sont
supprimées
'mais seulement les colonnes du tableau (table)
Worksheets("Feuil2).ListObjects("Tableau1").DataBodyRange.Rows.Delete
'Ccompte le nombre de ligne de données dans un tableau
X = Worksheets("Feuil2).ListObjects("Tableau1").ListRows.Count
'Détermine la dernière ligne du tableau qu'il y ait une
donnée ou non.
With Worksheets("Feuil2)
X = .Range("A" & .Rows.Count).End(xlUp).Row
End With
Désolé, je n'ai jamais eu à traiter un classeur ayant la
problématique
que tu rencontres.
MichD
Si j'ai bien compris, la ligne (ci-dessous) permet de déterminer la dernière
ligne du tableau qu'il y ait une donnée ou non.
X = .Range("A" & .Rows.Count).End(xlUp).Row
Est-ce que le problème ne viendrai pas de là ? Moi je souhaite savoir quelle est
la 1ère ligne vide du tableau (à partir de la cellule A éventuellement) pour
pouvoir y coller mes données ?
Si ça peut t'aider, je peux coller la macro (qui est très longue) dans un post..
Le mercredi 26 Décembre 2018 à 19:14 par MichD :
Le 26/déc./2018 à 05:54, corent38 a écrit :
Le vendredi 21 Décembre 2018 à 12:31 par MichD :
A )
Est-ce que l'extension du fichier est .xls ou .xlsm ?
B )
Par quelle manipulation effaces-tu les données? Est-ce que la feuille
est totalement vide?
C )
Est-ce que cette plage de données est définie comme
étant
un "TABLEAU" ?
D )
Dans la macro, lorsque tu as effacé les données, quelle est la
valeur
de la variable "DernLigne ?
Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
Msgbox DernLigne
D )
Dans un fichier où il y a plusieurs macros, sans voir ces
dernières, il
est difficile de savoir si l'une d'entre elles interfère avec ce que
tu
tentes de faire!
MichD
Pour répondre à tes questions :
A) L'extension du fichier est .xlsm.
B) J'ai utilisé 2 manipulations différentes pour effacer les
données pour le
même résultat. Soit j'efface les lignes soit je
sélectionne les données que je
veux supprimer et j'efface. La feuille n'est pas vide. Il reste au moins la
1ère
ligne avec les en têtes de colonnes et pour la seconde manipulation, il
reste
aussi 2 formules dans 2 colonnes.
C) La plage de données est bien un tableau. Lorsque j'efface les
données et que
j'en enregistre de nouvelle, elles viennent se coller à la
première ligne à
l'extérieur du tableau.
D) La variable de la dernière ligne est la suivante :
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
E) Je sais bien que c'est compliqué voir infaisable sans voir les
macros mais je
ne peux vraiment pas le mettre en ligne.
Merci de ton aide, je vais continuer à creuser de mon côté
! :)
En VBA,
'Pour supprimer toutes les lignes de données contenues dans le tableau.
'Ce ne sont pas les lignes complètes de la feuille qui sont
supprimées
'mais seulement les colonnes du tableau (table)
Worksheets("Feuil2).ListObjects("Tableau1").DataBodyRange.Rows.Delete
'Ccompte le nombre de ligne de données dans un tableau
X = Worksheets("Feuil2).ListObjects("Tableau1").ListRows.Count
'Détermine la dernière ligne du tableau qu'il y ait une
donnée ou non.
With Worksheets("Feuil2)
X = .Range("A" & .Rows.Count).End(xlUp).Row
End With
Désolé, je n'ai jamais eu à traiter un classeur ayant la
problématique
que tu rencontres.
MichD
Si j'ai bien compris, la ligne (ci-dessous) permet de déterminer la dernière
ligne du tableau qu'il y ait une donnée ou non.
X = .Range("A" & .Rows.Count).End(xlUp).Row
Est-ce que le problème ne viendrai pas de là ? Moi je souhaite savoir quelle est
la 1ère ligne vide du tableau (à partir de la cellule A éventuellement) pour
pouvoir y coller mes données ?
Si ça peut t'aider, je peux coller la macro (qui est très longue) dans un post..
Le mercredi 26 Décembre 2018 à 19:14 par MichD :Le 26/déc./2018 à 05:54, corent38 a écrit :Le vendredi 21 Décembre 2018 à 12:31 par MichD :A )
Est-ce que l'extension du fichier est .xls ou .xlsm ?
B )
Par quelle manipulation effaces-tu les données? Est-ce que la feuille
est totalement vide?
C )
Est-ce que cette plage de données est définie comme
étant
un "TABLEAU" ?
D )
Dans la macro, lorsque tu as effacé les données, quelle est la
valeur
de la variable "DernLigne ?
Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
Msgbox DernLigne
D )
Dans un fichier où il y a plusieurs macros, sans voir ces
dernières, il
est difficile de savoir si l'une d'entre elles interfère avec ce que
tu
tentes de faire!
MichD
Pour répondre à tes questions :
A) L'extension du fichier est .xlsm.
B) J'ai utilisé 2 manipulations différentes pour effacer les
données pour le
même résultat. Soit j'efface les lignes soit je
sélectionne les données que je
veux supprimer et j'efface. La feuille n'est pas vide. Il reste au moins la
1ère
ligne avec les en têtes de colonnes et pour la seconde manipulation, il
reste
aussi 2 formules dans 2 colonnes.
C) La plage de données est bien un tableau. Lorsque j'efface les
données et que
j'en enregistre de nouvelle, elles viennent se coller à la
première ligne à
l'extérieur du tableau.
D) La variable de la dernière ligne est la suivante :
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
E) Je sais bien que c'est compliqué voir infaisable sans voir les
macros mais je
ne peux vraiment pas le mettre en ligne.
Merci de ton aide, je vais continuer à creuser de mon côté
! :)
En VBA,
'Pour supprimer toutes les lignes de données contenues dans le tableau.
'Ce ne sont pas les lignes complètes de la feuille qui sont
supprimées
'mais seulement les colonnes du tableau (table)
Worksheets("Feuil2).ListObjects("Tableau1").DataBodyRange.Rows.Delete
'Ccompte le nombre de ligne de données dans un tableau
X = Worksheets("Feuil2).ListObjects("Tableau1").ListRows.Count
'Détermine la dernière ligne du tableau qu'il y ait une
donnée ou non.
With Worksheets("Feuil2)
X = .Range("A" & .Rows.Count).End(xlUp).Row
End With
Désolé, je n'ai jamais eu à traiter un classeur ayant la
problématique
que tu rencontres.
MichD
Si j'ai bien compris, la ligne (ci-dessous) permet de déterminer la dernière
ligne du tableau qu'il y ait une donnée ou non.
X = .Range("A" & .Rows.Count).End(xlUp).Row
Est-ce que le problème ne viendrai pas de là ? Moi je souhaite savoir quelle est
la 1ère ligne vide du tableau (à partir de la cellule A éventuellement) pour
pouvoir y coller mes données ?
Si ça peut t'aider, je peux coller la macro (qui est très longue) dans un post..
Le mercredi 26 Décembre 2018 à 19:14 par MichD :Le 26/déc./2018 à 05:54, corent38 a écrit :Le vendredi 21 Décembre 2018 à 12:31 par MichD :A )
Est-ce que l'extension du fichier est .xls ou .xlsm ?
B )
Par quelle manipulation effaces-tu les données? Est-ce que la feuille
est totalement vide?
C )
Est-ce que cette plage de données est définie comme
étant
un "TABLEAU" ?
D )
Dans la macro, lorsque tu as effacé les données, quelle est la
valeur
de la variable "DernLigne ?
Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
Msgbox DernLigne
D )
Dans un fichier où il y a plusieurs macros, sans voir ces
dernières, il
est difficile de savoir si l'une d'entre elles interfère avec ce que
tu
tentes de faire!
MichD
Pour répondre à tes questions :
A) L'extension du fichier est .xlsm.
B) J'ai utilisé 2 manipulations différentes pour effacer les
données pour le
même résultat. Soit j'efface les lignes soit je
sélectionne les données que je
veux supprimer et j'efface. La feuille n'est pas vide. Il reste au moins la
1ère
ligne avec les en têtes de colonnes et pour la seconde manipulation, il
reste
aussi 2 formules dans 2 colonnes.
C) La plage de données est bien un tableau. Lorsque j'efface les
données et que
j'en enregistre de nouvelle, elles viennent se coller à la
première ligne à
l'extérieur du tableau.
D) La variable de la dernière ligne est la suivante :
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
E) Je sais bien que c'est compliqué voir infaisable sans voir les
macros mais je
ne peux vraiment pas le mettre en ligne.
Merci de ton aide, je vais continuer à creuser de mon côté
! :)
En VBA,
'Pour supprimer toutes les lignes de données contenues dans le tableau.
'Ce ne sont pas les lignes complètes de la feuille qui sont
supprimées
'mais seulement les colonnes du tableau (table)
Worksheets("Feuil2).ListObjects("Tableau1").DataBodyRange.Rows.Delete
'Ccompte le nombre de ligne de données dans un tableau
X = Worksheets("Feuil2).ListObjects("Tableau1").ListRows.Count
'Détermine la dernière ligne du tableau qu'il y ait une
donnée ou non.
With Worksheets("Feuil2)
X = .Range("A" & .Rows.Count).End(xlUp).Row
End With
Désolé, je n'ai jamais eu à traiter un classeur ayant la
problématique
que tu rencontres.
MichD
Si j'ai bien compris, la ligne (ci-dessous) permet de déterminer la dernière
ligne du tableau qu'il y ait une donnée ou non.
X = .Range("A" & .Rows.Count).End(xlUp).Row
Est-ce que le problème ne viendrai pas de là ? Moi je souhaite savoir quelle est
la 1ère ligne vide du tableau (à partir de la cellule A éventuellement) pour
pouvoir y coller mes données ?
Si ça peut t'aider, je peux coller la macro (qui est très longue) dans un post..
Le mercredi 26 Décembre 2018 à 19:14 par MichD :
Le 26/déc./2018 à 05:54, corent38 a écrit :
Le vendredi 21 Décembre 2018 à 12:31 par MichD :
A )
Est-ce que l'extension du fichier est .xls ou .xlsm ?
B )
Par quelle manipulation effaces-tu les données? Est-ce que la feuille
est totalement vide?
C )
Est-ce que cette plage de données est définie comme
étant
un "TABLEAU" ?
D )
Dans la macro, lorsque tu as effacé les données, quelle est la
valeur
de la variable "DernLigne ?
Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
Msgbox DernLigne
D )
Dans un fichier où il y a plusieurs macros, sans voir ces
dernières, il
est difficile de savoir si l'une d'entre elles interfère avec ce que
tu
tentes de faire!
MichD
Pour répondre à tes questions :
A) L'extension du fichier est .xlsm.
B) J'ai utilisé 2 manipulations différentes pour effacer les
données pour le
même résultat. Soit j'efface les lignes soit je
sélectionne les données que je
veux supprimer et j'efface. La feuille n'est pas vide. Il reste au moins la
1ère
ligne avec les en têtes de colonnes et pour la seconde manipulation, il
reste
aussi 2 formules dans 2 colonnes.
C) La plage de données est bien un tableau. Lorsque j'efface les
données et que
j'en enregistre de nouvelle, elles viennent se coller à la
première ligne à
l'extérieur du tableau.
D) La variable de la dernière ligne est la suivante :
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
E) Je sais bien que c'est compliqué voir infaisable sans voir les
macros mais je
ne peux vraiment pas le mettre en ligne.
Merci de ton aide, je vais continuer à creuser de mon côté
! :)
En VBA,
'Pour supprimer toutes les lignes de données contenues dans le tableau.
'Ce ne sont pas les lignes complètes de la feuille qui sont
supprimées
'mais seulement les colonnes du tableau (table)
Worksheets("Feuil2).ListObjects("Tableau1").DataBodyRange.Rows.Delete
'Ccompte le nombre de ligne de données dans un tableau
X = Worksheets("Feuil2).ListObjects("Tableau1").ListRows.Count
'Détermine la dernière ligne du tableau qu'il y ait une
donnée ou non.
With Worksheets("Feuil2)
X = .Range("A" & .Rows.Count).End(xlUp).Row
End With
Désolé, je n'ai jamais eu à traiter un classeur ayant la
problématique
que tu rencontres.
MichD
Si j'ai bien compris, la ligne (ci-dessous) permet de déterminer la dernière
ligne du tableau qu'il y ait une donnée ou non.
X = .Range("A" & .Rows.Count).End(xlUp).Row
Est-ce que le problème ne viendrai pas de là ? Moi je souhaite savoir quelle est
la 1ère ligne vide du tableau (à partir de la cellule A éventuellement) pour
pouvoir y coller mes données ?
Si ça peut t'aider, je peux coller la macro (qui est très longue) dans un post..
Le mercredi 26 Décembre 2018 à 19:14 par MichD :Le 26/déc./2018 à 05:54, corent38 a écrit :Le vendredi 21 Décembre 2018 à 12:31 par MichD :A )
Est-ce que l'extension du fichier est .xls ou .xlsm ?
B )
Par quelle manipulation effaces-tu les données? Est-ce que la feuille
est totalement vide?
C )
Est-ce que cette plage de données est définie comme
étant
un "TABLEAU" ?
D )
Dans la macro, lorsque tu as effacé les données, quelle est la
valeur
de la variable "DernLigne ?
Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
Msgbox DernLigne
D )
Dans un fichier où il y a plusieurs macros, sans voir ces
dernières, il
est difficile de savoir si l'une d'entre elles interfère avec ce que
tu
tentes de faire!
MichD
Pour répondre à tes questions :
A) L'extension du fichier est .xlsm.
B) J'ai utilisé 2 manipulations différentes pour effacer les
données pour le
même résultat. Soit j'efface les lignes soit je
sélectionne les données que je
veux supprimer et j'efface. La feuille n'est pas vide. Il reste au moins la
1ère
ligne avec les en têtes de colonnes et pour la seconde manipulation, il
reste
aussi 2 formules dans 2 colonnes.
C) La plage de données est bien un tableau. Lorsque j'efface les
données et que
j'en enregistre de nouvelle, elles viennent se coller à la
première ligne à
l'extérieur du tableau.
D) La variable de la dernière ligne est la suivante :
DernLigne = Range("A" & Rows.Count).End(xlUp).Row + 1
E) Je sais bien que c'est compliqué voir infaisable sans voir les
macros mais je
ne peux vraiment pas le mettre en ligne.
Merci de ton aide, je vais continuer à creuser de mon côté
! :)
En VBA,
'Pour supprimer toutes les lignes de données contenues dans le tableau.
'Ce ne sont pas les lignes complètes de la feuille qui sont
supprimées
'mais seulement les colonnes du tableau (table)
Worksheets("Feuil2).ListObjects("Tableau1").DataBodyRange.Rows.Delete
'Ccompte le nombre de ligne de données dans un tableau
X = Worksheets("Feuil2).ListObjects("Tableau1").ListRows.Count
'Détermine la dernière ligne du tableau qu'il y ait une
donnée ou non.
With Worksheets("Feuil2)
X = .Range("A" & .Rows.Count).End(xlUp).Row
End With
Désolé, je n'ai jamais eu à traiter un classeur ayant la
problématique
que tu rencontres.
MichD
Si j'ai bien compris, la ligne (ci-dessous) permet de déterminer la dernière
ligne du tableau qu'il y ait une donnée ou non.
X = .Range("A" & .Rows.Count).End(xlUp).Row
Est-ce que le problème ne viendrai pas de là ? Moi je souhaite savoir quelle est
la 1ère ligne vide du tableau (à partir de la cellule A éventuellement) pour
pouvoir y coller mes données ?
Si ça peut t'aider, je peux coller la macro (qui est très longue) dans un post..