Supprimer des colonnes selon leurs libellés en ligne 1
6 réponses
Bear76
Bonjour à toute la communauté,
Je suis toujours dans le contexte d'importer des données dans un
classeur xlsx (2007) via une base de données en ligne.
Le problème est que les dimensions (nombre de lignes et nombre de
colonnes) du tableau varient selon le cas.
J'utilise actuellement et aveuglément Sheets(1).Columns("B:C").Delete
Shift:=xlToLeft, etc.
Pour être certain de supprimer les bonnes colonnes, je voudrais
intégrer dans cette procédure la vérification des libellés se trouvant
quelque part sur la première ligne de ce tableau.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel.C
Bonjour. La macro suivante supprime les colonnes dont les libellés ne figurent pas dans la matrice "LibellésOK" :
Sub test() Dim LibellésOK 'libellés à conserver LibellésOK = Array("Libellé1", "Libellé2", "Libellé3", "Libellé4") 'remplace "ATraiter.xlsx" par le nom de ton classeur Workbooks("ATraiter.xlsx").Activate For i = 1 To Cells(1, Cells.Columns.Count).End(xlToLeft).Column If Not IsNumeric(Application.Match(Cells(1, i), LibellésOK, 0)) Then Columns(i).Delete End If Next i End Sub
Cordialement. Daniel
Bonjour à toute la communauté,
Je suis toujours dans le contexte d'importer des données dans un classeur xlsx (2007) via une base de données en ligne.
Le problème est que les dimensions (nombre de lignes et nombre de colonnes) du tableau varient selon le cas.
J'utilise actuellement et aveuglément Sheets(1).Columns("B:C").Delete Shift:=xlToLeft, etc.
Pour être certain de supprimer les bonnes colonnes, je voudrais intégrer dans cette procédure la vérification des libellés se trouvant quelque part sur la première ligne de ce tableau.
Si quelqu'un pouvait m'aider. Merci d'avance.
Bonjour.
La macro suivante supprime les colonnes dont les libellés ne figurent
pas dans la matrice "LibellésOK" :
Sub test()
Dim LibellésOK
'libellés à conserver
LibellésOK = Array("Libellé1", "Libellé2", "Libellé3", "Libellé4")
'remplace "ATraiter.xlsx" par le nom de ton classeur
Workbooks("ATraiter.xlsx").Activate
For i = 1 To Cells(1, Cells.Columns.Count).End(xlToLeft).Column
If Not IsNumeric(Application.Match(Cells(1, i), LibellésOK, 0))
Then
Columns(i).Delete
End If
Next i
End Sub
Cordialement.
Daniel
Bonjour à toute la communauté,
Je suis toujours dans le contexte d'importer des données dans un classeur
xlsx (2007) via une base de données en ligne.
Le problème est que les dimensions (nombre de lignes et nombre de colonnes)
du tableau varient selon le cas.
J'utilise actuellement et aveuglément Sheets(1).Columns("B:C").Delete
Shift:=xlToLeft, etc.
Pour être certain de supprimer les bonnes colonnes, je voudrais intégrer dans
cette procédure la vérification des libellés se trouvant quelque part sur la
première ligne de ce tableau.
Bonjour. La macro suivante supprime les colonnes dont les libellés ne figurent pas dans la matrice "LibellésOK" :
Sub test() Dim LibellésOK 'libellés à conserver LibellésOK = Array("Libellé1", "Libellé2", "Libellé3", "Libellé4") 'remplace "ATraiter.xlsx" par le nom de ton classeur Workbooks("ATraiter.xlsx").Activate For i = 1 To Cells(1, Cells.Columns.Count).End(xlToLeft).Column If Not IsNumeric(Application.Match(Cells(1, i), LibellésOK, 0)) Then Columns(i).Delete End If Next i End Sub
Cordialement. Daniel
Bonjour à toute la communauté,
Je suis toujours dans le contexte d'importer des données dans un classeur xlsx (2007) via une base de données en ligne.
Le problème est que les dimensions (nombre de lignes et nombre de colonnes) du tableau varient selon le cas.
J'utilise actuellement et aveuglément Sheets(1).Columns("B:C").Delete Shift:=xlToLeft, etc.
Pour être certain de supprimer les bonnes colonnes, je voudrais intégrer dans cette procédure la vérification des libellés se trouvant quelque part sur la première ligne de ce tableau.
Si quelqu'un pouvait m'aider. Merci d'avance.
Daniel.C
Oubli: Tu ne peux pas enregisttrer de macro avec un classeur de type .xlsx. Soit tu enregistres ton classeur type .xlsm, soit tu mets la macro dans un autre classeur. Daniel
Bonjour à toute la communauté,
Je suis toujours dans le contexte d'importer des données dans un classeur xlsx (2007) via une base de données en ligne.
Le problème est que les dimensions (nombre de lignes et nombre de colonnes) du tableau varient selon le cas.
J'utilise actuellement et aveuglément Sheets(1).Columns("B:C").Delete Shift:=xlToLeft, etc.
Pour être certain de supprimer les bonnes colonnes, je voudrais intégrer dans cette procédure la vérification des libellés se trouvant quelque part sur la première ligne de ce tableau.
Si quelqu'un pouvait m'aider. Merci d'avance.
Oubli:
Tu ne peux pas enregisttrer de macro avec un classeur de type .xlsx.
Soit tu enregistres ton classeur type .xlsm, soit tu mets la macro dans
un autre classeur.
Daniel
Bonjour à toute la communauté,
Je suis toujours dans le contexte d'importer des données dans un classeur
xlsx (2007) via une base de données en ligne.
Le problème est que les dimensions (nombre de lignes et nombre de colonnes)
du tableau varient selon le cas.
J'utilise actuellement et aveuglément Sheets(1).Columns("B:C").Delete
Shift:=xlToLeft, etc.
Pour être certain de supprimer les bonnes colonnes, je voudrais intégrer dans
cette procédure la vérification des libellés se trouvant quelque part sur la
première ligne de ce tableau.
Oubli: Tu ne peux pas enregisttrer de macro avec un classeur de type .xlsx. Soit tu enregistres ton classeur type .xlsm, soit tu mets la macro dans un autre classeur. Daniel
Bonjour à toute la communauté,
Je suis toujours dans le contexte d'importer des données dans un classeur xlsx (2007) via une base de données en ligne.
Le problème est que les dimensions (nombre de lignes et nombre de colonnes) du tableau varient selon le cas.
J'utilise actuellement et aveuglément Sheets(1).Columns("B:C").Delete Shift:=xlToLeft, etc.
Pour être certain de supprimer les bonnes colonnes, je voudrais intégrer dans cette procédure la vérification des libellés se trouvant quelque part sur la première ligne de ce tableau.
Si quelqu'un pouvait m'aider. Merci d'avance.
Bear76
Daniel.C a couché sur son écran :
Oubli: Tu ne peux pas enregisttrer de macro avec un classeur de type .xlsx. Soit tu enregistres ton classeur type .xlsm, soit tu mets la macro dans un autre classeur. Daniel
Bonjour à toute la communauté,
Je suis toujours dans le contexte d'importer des données dans un classeur xlsx (2007) via une base de données en ligne.
Le problème est que les dimensions (nombre de lignes et nombre de colonnes) du tableau varient selon le cas.
J'utilise actuellement et aveuglément Sheets(1).Columns("B:C").Delete Shift:=xlToLeft, etc.
Pour être certain de supprimer les bonnes colonnes, je voudrais intégrer dans cette procédure la vérification des libellés se trouvant quelque part sur la première ligne de ce tableau.
Si quelqu'un pouvait m'aider. Merci d'avance.
Bonjour Daniel, Désolé, faute de frappe de ma part. C'est bien en xlsm qu'est enregistré mon classeur. Cordialement
Daniel.C a couché sur son écran :
Oubli:
Tu ne peux pas enregisttrer de macro avec un classeur de type .xlsx. Soit tu
enregistres ton classeur type .xlsm, soit tu mets la macro dans un autre
classeur.
Daniel
Bonjour à toute la communauté,
Je suis toujours dans le contexte d'importer des données dans un classeur
xlsx (2007) via une base de données en ligne.
Le problème est que les dimensions (nombre de lignes et nombre de colonnes)
du tableau varient selon le cas.
J'utilise actuellement et aveuglément Sheets(1).Columns("B:C").Delete
Shift:=xlToLeft, etc.
Pour être certain de supprimer les bonnes colonnes, je voudrais intégrer
dans cette procédure la vérification des libellés se trouvant quelque part
sur la première ligne de ce tableau.
Si quelqu'un pouvait m'aider.
Merci d'avance.
Bonjour Daniel,
Désolé, faute de frappe de ma part. C'est bien en xlsm qu'est
enregistré mon classeur.
Cordialement
Oubli: Tu ne peux pas enregisttrer de macro avec un classeur de type .xlsx. Soit tu enregistres ton classeur type .xlsm, soit tu mets la macro dans un autre classeur. Daniel
Bonjour à toute la communauté,
Je suis toujours dans le contexte d'importer des données dans un classeur xlsx (2007) via une base de données en ligne.
Le problème est que les dimensions (nombre de lignes et nombre de colonnes) du tableau varient selon le cas.
J'utilise actuellement et aveuglément Sheets(1).Columns("B:C").Delete Shift:=xlToLeft, etc.
Pour être certain de supprimer les bonnes colonnes, je voudrais intégrer dans cette procédure la vérification des libellés se trouvant quelque part sur la première ligne de ce tableau.
Si quelqu'un pouvait m'aider. Merci d'avance.
Bonjour Daniel, Désolé, faute de frappe de ma part. C'est bien en xlsm qu'est enregistré mon classeur. Cordialement
Bear76
Daniel.C a exposé le 14/03/2010 :
Bonjour. La macro suivante supprime les colonnes dont les libellés ne figurent pas dans la matrice "LibellésOK" :
Sub test() Dim LibellésOK 'libellés à conserver LibellésOK = Array("Libellé1", "Libellé2", "Libellé3", "Libellé4") 'remplace "ATraiter.xlsx" par le nom de ton classeur Workbooks("ATraiter.xlsx").Activate For i = 1 To Cells(1, Cells.Columns.Count).End(xlToLeft).Column If Not IsNumeric(Application.Match(Cells(1, i), LibellésOK, 0)) Then Columns(i).Delete End If Next i End Sub
Cordialement. Daniel
Bonjour à toute la communauté,
Je suis toujours dans le contexte d'importer des données dans un classeur xlsx (2007) via une base de données en ligne.
Le problème est que les dimensions (nombre de lignes et nombre de colonnes) du tableau varient selon le cas.
J'utilise actuellement et aveuglément Sheets(1).Columns("B:C").Delete Shift:=xlToLeft, etc.
Pour être certain de supprimer les bonnes colonnes, je voudrais intégrer dans cette procédure la vérification des libellés se trouvant quelque part sur la première ligne de ce tableau.
Si quelqu'un pouvait m'aider. Merci d'avance.
Bonjour, Merci pour cette procédure. Cependant, il y a un problème. En A1 j'ai Num Cap et en B1 j'ai Nom Cap. Lorsque j'exécute votre procédure, la colonne A contenant Num Cap en A1 est bien supprimée mais pas la colonne B contenant dans B1 Nom Cap. Les autres colonnes dont les libellés respectifs ne sont pas listés dans Array() sont supprimées. Cordialement.
Daniel.C a exposé le 14/03/2010 :
Bonjour.
La macro suivante supprime les colonnes dont les libellés ne figurent pas
dans la matrice "LibellésOK" :
Sub test()
Dim LibellésOK
'libellés à conserver
LibellésOK = Array("Libellé1", "Libellé2", "Libellé3", "Libellé4")
'remplace "ATraiter.xlsx" par le nom de ton classeur
Workbooks("ATraiter.xlsx").Activate
For i = 1 To Cells(1, Cells.Columns.Count).End(xlToLeft).Column
If Not IsNumeric(Application.Match(Cells(1, i), LibellésOK, 0)) Then
Columns(i).Delete
End If
Next i
End Sub
Cordialement.
Daniel
Bonjour à toute la communauté,
Je suis toujours dans le contexte d'importer des données dans un classeur
xlsx (2007) via une base de données en ligne.
Le problème est que les dimensions (nombre de lignes et nombre de colonnes)
du tableau varient selon le cas.
J'utilise actuellement et aveuglément Sheets(1).Columns("B:C").Delete
Shift:=xlToLeft, etc.
Pour être certain de supprimer les bonnes colonnes, je voudrais intégrer
dans cette procédure la vérification des libellés se trouvant quelque part
sur la première ligne de ce tableau.
Si quelqu'un pouvait m'aider.
Merci d'avance.
Bonjour,
Merci pour cette procédure.
Cependant, il y a un problème.
En A1 j'ai Num Cap et en B1 j'ai Nom Cap.
Lorsque j'exécute votre procédure, la colonne A contenant Num Cap en A1
est bien supprimée mais pas la colonne B contenant dans B1 Nom Cap.
Les autres colonnes dont les libellés respectifs ne sont pas listés
dans Array() sont supprimées.
Cordialement.
Bonjour. La macro suivante supprime les colonnes dont les libellés ne figurent pas dans la matrice "LibellésOK" :
Sub test() Dim LibellésOK 'libellés à conserver LibellésOK = Array("Libellé1", "Libellé2", "Libellé3", "Libellé4") 'remplace "ATraiter.xlsx" par le nom de ton classeur Workbooks("ATraiter.xlsx").Activate For i = 1 To Cells(1, Cells.Columns.Count).End(xlToLeft).Column If Not IsNumeric(Application.Match(Cells(1, i), LibellésOK, 0)) Then Columns(i).Delete End If Next i End Sub
Cordialement. Daniel
Bonjour à toute la communauté,
Je suis toujours dans le contexte d'importer des données dans un classeur xlsx (2007) via une base de données en ligne.
Le problème est que les dimensions (nombre de lignes et nombre de colonnes) du tableau varient selon le cas.
J'utilise actuellement et aveuglément Sheets(1).Columns("B:C").Delete Shift:=xlToLeft, etc.
Pour être certain de supprimer les bonnes colonnes, je voudrais intégrer dans cette procédure la vérification des libellés se trouvant quelque part sur la première ligne de ce tableau.
Si quelqu'un pouvait m'aider. Merci d'avance.
Bonjour, Merci pour cette procédure. Cependant, il y a un problème. En A1 j'ai Num Cap et en B1 j'ai Nom Cap. Lorsque j'exécute votre procédure, la colonne A contenant Num Cap en A1 est bien supprimée mais pas la colonne B contenant dans B1 Nom Cap. Les autres colonnes dont les libellés respectifs ne sont pas listés dans Array() sont supprimées. Cordialement.
Daniel.C
Au temps pour moi :
Sub test() Dim LibellésOK 'libellés à conserver LibellésOK = Array("Libellé1", "Libellé2", "Libellé3", "Libellé4") 'remplace "ATraiter.xlsx" par le nom de ton classeur Workbooks("ATraiter.xlsx").Activate For i = Cells(1, Cells.Columns.Count).End(xlToLeft).Column To 1 Step -1 If Not IsNumeric(Application.Match(Cells(1, i), LibellésOK, 0)) Then Columns(i).Delete End If Next i End Sub
Daniel
Daniel.C a couché sur son écran :
Oubli: Tu ne peux pas enregisttrer de macro avec un classeur de type .xlsx. Soit tu enregistres ton classeur type .xlsm, soit tu mets la macro dans un autre classeur. Daniel
Bonjour à toute la communauté,
Je suis toujours dans le contexte d'importer des données dans un classeur xlsx (2007) via une base de données en ligne.
Le problème est que les dimensions (nombre de lignes et nombre de colonnes) du tableau varient selon le cas.
J'utilise actuellement et aveuglément Sheets(1).Columns("B:C").Delete Shift:=xlToLeft, etc.
Pour être certain de supprimer les bonnes colonnes, je voudrais intégrer dans cette procédure la vérification des libellés se trouvant quelque part sur la première ligne de ce tableau.
Si quelqu'un pouvait m'aider. Merci d'avance.
Bonjour Daniel, Désolé, faute de frappe de ma part. C'est bien en xlsm qu'est enregistré mon classeur. Cordialement
Au temps pour moi :
Sub test()
Dim LibellésOK
'libellés à conserver
LibellésOK = Array("Libellé1", "Libellé2", "Libellé3", "Libellé4")
'remplace "ATraiter.xlsx" par le nom de ton classeur
Workbooks("ATraiter.xlsx").Activate
For i = Cells(1, Cells.Columns.Count).End(xlToLeft).Column To 1 Step -1
If Not IsNumeric(Application.Match(Cells(1, i), LibellésOK, 0))
Then
Columns(i).Delete
End If
Next i
End Sub
Daniel
Daniel.C a couché sur son écran :
Oubli:
Tu ne peux pas enregisttrer de macro avec un classeur de type .xlsx. Soit
tu enregistres ton classeur type .xlsm, soit tu mets la macro dans un autre
classeur.
Daniel
Bonjour à toute la communauté,
Je suis toujours dans le contexte d'importer des données dans un classeur
xlsx (2007) via une base de données en ligne.
Le problème est que les dimensions (nombre de lignes et nombre de
colonnes) du tableau varient selon le cas.
J'utilise actuellement et aveuglément Sheets(1).Columns("B:C").Delete
Shift:=xlToLeft, etc.
Pour être certain de supprimer les bonnes colonnes, je voudrais intégrer
dans cette procédure la vérification des libellés se trouvant quelque part
sur la première ligne de ce tableau.
Si quelqu'un pouvait m'aider.
Merci d'avance.
Bonjour Daniel,
Désolé, faute de frappe de ma part. C'est bien en xlsm qu'est enregistré mon
classeur.
Cordialement
Sub test() Dim LibellésOK 'libellés à conserver LibellésOK = Array("Libellé1", "Libellé2", "Libellé3", "Libellé4") 'remplace "ATraiter.xlsx" par le nom de ton classeur Workbooks("ATraiter.xlsx").Activate For i = Cells(1, Cells.Columns.Count).End(xlToLeft).Column To 1 Step -1 If Not IsNumeric(Application.Match(Cells(1, i), LibellésOK, 0)) Then Columns(i).Delete End If Next i End Sub
Daniel
Daniel.C a couché sur son écran :
Oubli: Tu ne peux pas enregisttrer de macro avec un classeur de type .xlsx. Soit tu enregistres ton classeur type .xlsm, soit tu mets la macro dans un autre classeur. Daniel
Bonjour à toute la communauté,
Je suis toujours dans le contexte d'importer des données dans un classeur xlsx (2007) via une base de données en ligne.
Le problème est que les dimensions (nombre de lignes et nombre de colonnes) du tableau varient selon le cas.
J'utilise actuellement et aveuglément Sheets(1).Columns("B:C").Delete Shift:=xlToLeft, etc.
Pour être certain de supprimer les bonnes colonnes, je voudrais intégrer dans cette procédure la vérification des libellés se trouvant quelque part sur la première ligne de ce tableau.
Si quelqu'un pouvait m'aider. Merci d'avance.
Bonjour Daniel, Désolé, faute de frappe de ma part. C'est bien en xlsm qu'est enregistré mon classeur. Cordialement
Bear76
Daniel.C a exposé le 14/03/2010 :
Au temps pour moi :
Sub test() Dim LibellésOK 'libellés à conserver LibellésOK = Array("Libellé1", "Libellé2", "Libellé3", "Libellé4") 'remplace "ATraiter.xlsx" par le nom de ton classeur Workbooks("ATraiter.xlsx").Activate For i = Cells(1, Cells.Columns.Count).End(xlToLeft).Column To 1 Step -1 If Not IsNumeric(Application.Match(Cells(1, i), LibellésOK, 0)) Then Columns(i).Delete End If Next i End Sub
Daniel
Bonjour, Merci beaucoup Cordialement
Daniel.C a exposé le 14/03/2010 :
Au temps pour moi :
Sub test()
Dim LibellésOK
'libellés à conserver
LibellésOK = Array("Libellé1", "Libellé2", "Libellé3", "Libellé4")
'remplace "ATraiter.xlsx" par le nom de ton classeur
Workbooks("ATraiter.xlsx").Activate
For i = Cells(1, Cells.Columns.Count).End(xlToLeft).Column To 1 Step -1
If Not IsNumeric(Application.Match(Cells(1, i), LibellésOK, 0)) Then
Columns(i).Delete
End If
Next i
End Sub
Sub test() Dim LibellésOK 'libellés à conserver LibellésOK = Array("Libellé1", "Libellé2", "Libellé3", "Libellé4") 'remplace "ATraiter.xlsx" par le nom de ton classeur Workbooks("ATraiter.xlsx").Activate For i = Cells(1, Cells.Columns.Count).End(xlToLeft).Column To 1 Step -1 If Not IsNumeric(Application.Match(Cells(1, i), LibellésOK, 0)) Then Columns(i).Delete End If Next i End Sub