Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Sélection à partir d'un blanc

  • Initiateur de la discussion Initiateur de la discussion vieur
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

vieur

XLDnaute Nouveau
Bonjour,

Je progresse peu à peu dans les macro mais là je n'ai pas vraiment de piste pour faire ce que je souhaite

En fait je voudrais faire ça :
Regarde la pièce jointe choix.xls
-on entre un choix (chiffre) dans la case grise puis on clique sur le bouton pour valider

-Si on à choisi "1" => la macro envoie "1,2,3" dans la colonne résultat (copier coller à partier de la colonne c)
-Si on choisit "2" => la macro envoie "a,b,c" dans la colonne résultat
-Si on choisit "3" => "aa,bb,cc" dans la colonne résultat
etc...

Bien sûr, on pourra rajouter des lignes dans la colonne C mais en gardant toujours la case vide entre deux série de données.

Je pensais à un truc du genre : par exemple si on fait le choix "3" on va copier/coller la partie de la colonne C située entre la 4ème et la 5ème case blanche de la colonne etc...

Le problème est que je ne sait pas compter les cases vides et réutiliser ce résultat.

Si quelqu'un pouvait m'aiguiller ça serait super sympa.
merci
 

Pièces jointes

Re : Sélection à partir d'un blanc

Merci catrice, 🙂si peu de lignes pour faire ça, et ben j'aurais pas su le faire

Je suis super surpris par la rapidité des réponse sur ce forum, merci encore pour vos réponses

Ceci dit, j'aurais voulu que la colonne résultat soit a chaque fois effacée et que le nouveau résultat remplace le précédent. Mais bon je vais regarder ton code (que je ne comprends qu'à moitié mais je pense pouvoir trouver)

merci
 
Re : Sélection à partir d'un blanc

Salut vieur, Catrice🙂, le Forum

Le Code De Catrice légèrement Modifié à tes besoins

Code:
Sub Test()
Var1 = Application.Match(Range("G3"), Columns(2), 0)
On Error Resume Next
With Range("Liste")
    .ClearContents
    .Interior.ColorIndex = xlNone
End With
If Not IsError(Var1) Then Range(Cells(Var1 + 1, 3), Cells(Var1 + 1, 3).End(xlDown)).Copy Range("J65536").End(xlUp).Offset(1, 0)
End Sub
Liste nommée

Insertion/Noms/définir

Noms dans le Classeur: = Liste
Fait référence à: =DECALER(Sheet1!$J$2;;;NBVAL(Sheet1!$J:$J)-1)

Bonne Journée
 

Pièces jointes

Re : Sélection à partir d'un blanc

super merci
Mais pourrais-tu m'expliquer un peu les lignes du script pour que je puisse l'intégrer à mon projet car je ne comprends pas tout et au final, ma colonne 3 sera pas toujours la 3 (je veux donc insérer une variable qui correspondra à la colonne) pour cela il faut que je comprenne le script
merci
 
Dernière édition:
Re : Sélection à partir d'un blanc

Bonjour


Pour le fun et pour saluer Catrice ( 😉 )

A partir de son code

Code:
Sub Test()
Dim Sourc As Long, Var1 As Long
Sourc = 2 'Colonne source
Var1 = Application.Match(Range("G3"), Columns(Sourc), 0) 'Cherche la valeur saisie en G2 dasn la colonne "Sourc"
'------------------
Range(Dest).CurrentRegion.Offset(1, 0).Clear 'Efface la destination (sauf la ligne d'entete)
If Not IsError(Var1) Then 'Si Var1 n'est pas une erreur (si on a bien trouvé le critere dans la colonne Sourc) alors ...
    Set r = Cells(Var1 + 1, Sourc + 1)
    r.Resize(Choose([G3], 3, 3, 5, 4)).Copy [J1].End(xlUp)(2)
End If
End Sub
 
Re : Sélection à partir d'un blanc

J'y suis presque,

Merci pour ton code Catrice mais j'ai encore un problème.

Quand je lance ta macro dans le fichier que tu m'a donné, pas de problème.🙂

Par contre si je fait copier coller du script dans un ficher excel il bug sur une ligne. Si je l'adapte dans mon propre projet il bug sur la même ligne :

Code:
Var1 = Application.Match(Range("IS4"), Columns(Sourc), 0) 'Cherche la valeur saisie en G2 dasn la colonne "Sourc"
message d'erreur : Run-time error '13', type mismatch😕

Je pensais à une erreur de déclaration de variable😕
Aussi le contnu de IS4 est du texte et pas un chiffre comme dans l'exemple😕

Mes MsgBox me revoient bien Source : 7 (OK); Dest : IV1 (forcément)
C'est à la ligne d'après qu'il plante
Code:
Option Explicit
Sub OK()

Dim indexn2, indexn1, Sourc, Dest, Var1 As Integer
Sheets("arb").Select

indexn1 = Range("IS1")
indexn2 = Range("IS2")
Sourc = 4 * indexn1 - 1 'Colonne source
Dest = "IV1" 'Cellule destination
MsgBox Sourc
MsgBox Dest
Var1 = Application.Match(Range("IS4"), Columns(Sourc), 0) 'Cherche la valeur saisie en G2 dasn la colonne "Sourc"
'------------------
Range(Dest).CurrentRegion.Offset(1, 0).Clear 'Efface la destination (sauf la ligne d'entete)
If Not IsError(Var1) Then 'Si Var1 n'est pas une erreur (si on a bien trouvé le critere dans la colonne Sourc) alors ...
    Range(Cells(Var1 + 1, Sourc + 1), Cells(Var1 + 1, Sourc + 1).End(xlDown)).Copy Range(Dest).End(xlUp).Offset(1, 0)
    'Cells(Var1 + 1, Sourc + 1) => donne la cellule en dessous et à droite de la cellule trouvée
    'Cells(Var1 + 1, Sourc + 1 => est équivalent à CTRL + MAJ + Fleche vers le bas sur la cellule qu'on a trouvé
    'Range(Cells(Var1 + 1, Sourc + 1), Cells(Var1 + 1, Sourc + 1).End(xlDown)) => définit la zone de données souhaitée
    'Copy Range(Dest).End(xlUp).Offset(1, 0) => on copie avec comme destination la derniere cellule non vide de la colonne Dest

End If

End Sub

désolé si c'est un problème simple mais là je ne maitrise pas, j'apprends merci😉
 
Re : Sélection à partir d'un blanc

Euh, en fait, j'ai trouvé, désolé de vous avoir sollicité pour rien...
En fait ma colonne de source ne contenait pas l'info recherchée donc ça plantait....
Un truc con mais j'avais pas cherché de ce coté là, j

Merci encore
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
290
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
812
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…