Aide sur cette marco..

  • Initiateur de la discussion Initiateur de la discussion Youpsy
  • 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 !

Y

Youpsy

Guest
Bonjours à tous !!

J ai un petit soucis avec une macro.. je vous explique vite fait son but qui est très basic...
Alors cette macro copie plusieurs valeurs dans différentes colonne de la ligne 159 (feuille1) pour les coller dans des cellules défini dans la feuille 2 à contidition que j'appuye sur une checkbox qui sur cette même ligne.

Ce que je voudrais c'est que ma macro me fasse la même chose pour les autre ligne...

je vous joint un petit exemple..
 

Pièces jointes

Re : Aide sur cette marco..

Bonjour Youpsy, le fil, le forum
Je n'aurais certainement pas trop le temps de regarder plus avant dans ton fichier, mais avant de te lancer dans ton projet tu devrais nétoyer ton code.
L'enregistreur de macro garde des lignes inutiles dans un code.
Par exemple toutes les lignes de ActiveWindow.ScrollColumn et ActiveWindow.SmallScroll (en fait tout les scrolls)

Si on prend le début de Macro2:
VB:
    Range("B159").Select
    Selection.Copy
    Sheets("Feuil2").Select
    Range("F10").Select
    ActiveSheet.Paste
    Selection.Interior.ColorIndex = 35
    With Selection
        .HorizontalAlignment = xlLeft
        .VerticalAlignment = xlBottom
        .WrapText = True
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    Selection.Font.Bold = True

Tu copies colle la cellule Feuille1.Range("B159") et la colle en Feuill2.Range("F10").
Cela transporte le format de la cellule et cela t'oblige à remetre le format d'origine en place.

Toutes les lignes ci dessus peuvent se résumer à
La valeur de la cellule Feuill2.Range("F10") est égale à la valeur de la cellule Feuille1.Range("B159") :
VB:
Sheets("Feuil2").Range("F10").Value = Sheets("Feuil1").Range("B159").Value

Revoi ton code ainsi et comme ça il sera plus lisible pour chacun et des propositions devraient arriver...
Cordialement
 
Re : Aide sur cette marco..

Re
Je te laisse un exemple ou j'ai fait étate par étape les modifications et la création d'un système valable pour toutes les chekbox...
On pourrait, pour faire plus propre monter un module de class mais cela serait plus long dans les explications.
Dis moi si cela te va.
Cordialement
 

Pièces jointes

Re : Aide sur cette marco..

Mille merci !!! C'est exactement ça !
Par contre je n'ai pas bien compris ou trouvé le code "i" dans la feuil1 sous checkBox1
ou je n'ai pas regardé au bon endroit..
 
Re : Aide sur cette marco..

Re
Quand tu écris "enregDI_3 (CheckBox2.TopLeftCell.Row)" tu envois à la macro enregDI_3 la valeur de la ligne ou se trouve la chekbox.
Ensuite enregDI_3 recoi cette valeur dans la variable i
Sub enregDI_3(i As Long)
Cordialement
 
Re : Aide sur cette marco..

Re, je dois être dur de tête... dsl je suis novice..

j'ai reussi à faire ma 3 eme ligne en utilisant enregDI_3b (j As Long)
mais j'ai pas compris pourquoi "j" et non "f" As Long... c'est lettre sont défini par moi ??
y a t il un tuto sur le sujet ?? pack je sais pas vraiment comment formuler ma question pour trouver un tuto
sur ça...

En tous cas un GRAND MERCI !!!

et bon week-end !!
 
Re : Aide sur cette marco..

Re
Non, non, non...
Tu peux toujours utiliser la macro Sub enregDI_3(i As Long).
C'est dans le code des chexBox que tu change la valeur du paramêtre.
Par exemple pour la ChekBox128 (c'est un exemple)
VB:
Private Sub CheckBox128_Click()
If CheckBox128.Value = True Then enregDI_3 (CheckBox128.TopLeftCell.Row)
End Sub
Tu n'a qu'a changer les numéros de chekBox et utiliser une seule macro la fameuse Sub enregDI_3(i As Long) 😀
Reprend mon dernier exemple, les deux premières ChekBox étaient préparées
Cordialement
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
665
Réponses
23
Affichages
2 K
Retour