VBA pour selectionner une colonne avec critère
Fanaouer
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
Mike-31 Messages postés 18405 Date d'inscription Statut Contributeur Dernière intervention -
Mike-31 Messages postés 18405 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
Je recherche un code VBA afin de sélectionner une colonne en fonction de son titre, mais le souci c'est que le critère est contenu dans une cellule.
J'ai plusieurs colonne avec en titre une date à chaque fois différente, et en fonction de quelle date je met dans ma cellule critère j'aimerais que mon code VBA sélectionne la bonne colonne afin que je la copie.
J'espère que je suis clair dans ma demande.
Merci d'avance pour vos réponse
Je recherche un code VBA afin de sélectionner une colonne en fonction de son titre, mais le souci c'est que le critère est contenu dans une cellule.
J'ai plusieurs colonne avec en titre une date à chaque fois différente, et en fonction de quelle date je met dans ma cellule critère j'aimerais que mon code VBA sélectionne la bonne colonne afin que je la copie.
J'espère que je suis clair dans ma demande.
Merci d'avance pour vos réponse
A voir également:
- Vba sélectionner plusieurs colonnes
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Comment faire des colonnes sur word - Guide
- Selectionner texte sur pdf - Guide
- Inverser deux colonnes excel - Guide
- Comment sélectionner un message sur whatsapp pour y répondre - Guide
3 réponses
Bonjour,
Si le souci c'est que le critère est contenu dans une cellule, alors passe par un UserForm.
Tu peux même créer un UserForm comprenant un calendrier si ça facilite ta recherche. Tu fais une boucle (For ou While) en VBA pour passer en revue les en-têtes de colonnes jusqu'à trouver une correspondance.
Attention aux formats des dates !
A+
Si le souci c'est que le critère est contenu dans une cellule, alors passe par un UserForm.
Tu peux même créer un UserForm comprenant un calendrier si ça facilite ta recherche. Tu fais une boucle (For ou While) en VBA pour passer en revue les en-têtes de colonnes jusqu'à trouver une correspondance.
Attention aux formats des dates !
A+
Bonjour,
En partant du principe que tes en-têtes sont contenues en ligne 1 et que la date recherchée est en saisie en B20 (à adapter à la confiugaration de ton fichier). Cette formule renverra le numéro de la colonne recherchée et est utilisable dans une autres formule RECHERCHEV ou INDEX par exemple pour indexé la colonne de recherche.
=COLONNE(INDEX(1:1;1;EQUIV(B20;1:1;0)))
Bonne journée
Jc
En partant du principe que tes en-têtes sont contenues en ligne 1 et que la date recherchée est en saisie en B20 (à adapter à la confiugaration de ton fichier). Cette formule renverra le numéro de la colonne recherchée et est utilisable dans une autres formule RECHERCHEV ou INDEX par exemple pour indexé la colonne de recherche.
=COLONNE(INDEX(1:1;1;EQUIV(B20;1:1;0)))
Bonne journée
Jc
Bonjour,
en supposant que ta cellule critère est C5 et que le code est déclenché avec un bouton ActiveX CommandButton1
Private Sub CommandButton1_Click()
Dim Jour As Date, Adresse As String
Jour = Range("C5")
With ActiveSheet
On Error GoTo Erreur
Adresse = .Rows(1).Find(Jour).Address
.Range(Adresse).EntireColumn.Select
End With
Exit Sub
Erreur:
MsgBox Jour & ": n'existe pas sur cette feuille"
End Sub
en supposant que ta cellule critère est C5 et que le code est déclenché avec un bouton ActiveX CommandButton1
Private Sub CommandButton1_Click()
Dim Jour As Date, Adresse As String
Jour = Range("C5")
With ActiveSheet
On Error GoTo Erreur
Adresse = .Rows(1).Find(Jour).Address
.Range(Adresse).EntireColumn.Select
End With
Exit Sub
Erreur:
MsgBox Jour & ": n'existe pas sur cette feuille"
End Sub