CheckBox Copier/Coller de ligne avec recherche conditionnelle

HoLbOrN13

XLDnaute Nouveau
Bonjour ou Bonsoir.

Je débute en programmation de macro sous excel.

Pour mon travail j'ai essayer de créer une macro avec un userform constitué de plusieurs CheckBox.
Le but de cette macro est assez simple :

La macro sert à la création d'un véhicule composé de différents éléments sélectionnable à partir de checkbox.

Si une checkbox est cochée, la macro doit aller copier certaines ligne dans une feuille de donnée pour les coller dans la feuille active.

Il existe plusieurs checkbox réalisant la même action et selon les choix que l'on a fait la macro constitue le véhicule.

Je suis malheureusement confronter à deux problématiques:

1 - Ma macro n'est utilisable que dans une seul feuille ( Je ne sais pas faire appel à une feuille sans la sélectionner.


2 - Ma macro sélectionne des liges que j'ai déterminer exemple (43:54). J'aimerais à la place que la macro lance une recherche pour sélectionner et copier les lignes contenant dans la première cellule une certaine valeur exemple : "FIA*". Une fois sélectionner qu'elle soit classer par ordre croissant est coller dans à partir de la cellule active dans la feuille ou l'on exécute la macro.

Les explications ne sont pas très évidentes et je n'ai peu être pas sue m'exprimer. Rien de tel qu'un fichier d'exemple qui sera plus parlant.


Merci de toutes l'aide que vous pouriez m'apporter.

Cordialement.
 

Pièces jointes

  • Exemple.XLS
    202 KB · Affichages: 56
  • Exemple.XLS
    202 KB · Affichages: 58
  • Exemple.XLS
    202 KB · Affichages: 53

Excel-lent

XLDnaute Barbatruc
Re : CheckBox Copier/Coller de ligne avec recherche conditionnelle

Bonsoir et bienvenu sur le forum HoLbOrN13


HoLbOrN13 à dit:
1 - Ma macro n'est utilisable que dans une seul feuille ( Je ne sais pas faire appel à une feuille sans la sélectionner.

Il faut bien commencer un jour ;)

En effet, la méthode la plus simple qu'on emploi au début, c'est de sélectionner les feuilles, cellules, ... puis d'effectuer une opération dessus. Ca fonctionne très bien.

Ensuite, il existe une seconde solution qui consiste à effectuer directement l'opération sur la feuille, cellule, ... voulu (sans la sélectionner) : moins gourmand en ressource (mais sur les p'tites macro, on ne voit pas la différence).

Un exemple concret avec ta macro :

Un extrait avant simplification
VB:
'Insertion Pirelli
If CheckBox8.Value = True Then
    Sheets("Données").Select
    Rows("63:73").Select
    Selection.Copy
    Sheets("Test MAcro").Select
    Selection.Insert Shift:=xlDown
End If

Un extrait sans la sélection de la feuille "Données"
VB:
'Insertion Pirelli
If CheckBox8.Value = True Then
    Sheets("Données").Rows("63:73").Copy
    Sheets("Test MAcro").Select
    Selection.Insert Shift:=xlDown
End If

HoLbOrN13 à dit:
2 - Ma macro sélectionne des liges que j'ai déterminer exemple (43:54). J'aimerais à la place que la macro lance une recherche pour sélectionner et copier les lignes contenant dans la première cellule une certaine valeur exemple : "FIA*". Une fois sélectionner qu'elle soit classer par ordre croissant est coller dans à partir de la cellule active dans la feuille ou l'on exécute la macro.

Pourquoi vouloir copier tes lignes à partir de la cellule active? Et non pas juste en dessous de la ligne de titre, où à la fin des lignes déjà copier précédemment?

A te lire
Cordialement
 

HoLbOrN13

XLDnaute Nouveau
Re : CheckBox Copier/Coller de ligne avec recherche conditionnelle

Je te remercie de ta réponse et de ton aide !

J'adore ta façon d'expliquer les choses, c'est claire est facile à comprendre et surtout tu ne te moque pas de moi pauvre petit débutant ! ;)

Quand je regarde la solution pour la première problématique, elle parait être évidente mais je n'y avait pas penser !!

J'ai donc fait les modifications dans mon fichier d'exemple.

Pourquoi vouloir copier tes lignes à partir de la cellule active? Et non pas juste en dessous de la ligne de titre, où à la fin des lignes déjà copier précédemment?

A te lire
Cordialement

Je cherche a coller les lignes sous la cellule active afin de pouvoir placer les lignes dans un listing, en effet le véhicule peu ce trouver au milieu de plusieurs ligne, donc je voudrai sélectionner la ligne du véhicule et à l'aide de la macro inséré ça composition dessous.


Pour le deuxième probléme, j aimerai que la macro cherche, sélectionne et copie les lignes contenant en colonne A:A une certaine valeur ( Exemple les Pirelli * peu importe les numéros derrières.) que la macro les remettes dans l'ordre croissant pour les coller sous la ligne sélectionner.

Cela me servirai dans le cas ou des données supplémentaires son intégrées dans l'onglet des données.
En effet avec ma macro, elle ne va que sélectionner les lignes que je lui demande, donc si je rajoute des données il faudrait que je modifie ma macro pour qu'il sélectionne les nouvelles lignes et surtout il faut qu'elle soit dans l'ordre croissant dans l'onglet des données. Dans la nouvelle macro j'aimerai ne plus avoir à faire ca.

Je sais pas si j'ai été assez claire, j'avoue avoir du mal à expliquer les choses !! Donc hésite pas à me poser des questions !!

En pièce jointe le fichier exemple ou j'ai fait les modifications suite à tes conseille.

Je te remercie.
 

Pièces jointes

  • Exemple.XLS
    204 KB · Affichages: 63
  • Exemple.XLS
    204 KB · Affichages: 60
  • Exemple.XLS
    204 KB · Affichages: 64

HoLbOrN13

XLDnaute Nouveau
Re : CheckBox Copier/Coller de ligne avec recherche conditionnelle

Pour utiliser la macro dans tout le classeur, j'ai trouver en suppriment la sélection de la feuille de destination :

Code:
'Insertion Pirelli
If CheckBox8.Value = True Then
    Sheets("Données").Rows("63:73").Copy
    Sheets("Test MAcro").Select 'Partie supprimer
    Selection.Insert Shift:=xlDown
End If

Modifier en :

Code:
'Insertion Pirelli
If CheckBox8.Value = True Then
    Sheets("Données").Rows("63:73").Copy
    Selection.Insert Shift:=xlDown
End If


Cela résous le probléme d'utilisation de la macro dans tout le classeur.

Cependant, il reste le probléme de recherche des ligne à copier.

Merci.
 

Discussions similaires

Réponses
56
Affichages
906

Statistiques des forums

Discussions
311 720
Messages
2 081 912
Membres
101 837
dernier inscrit
Ugo