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

correction programme vba

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

zumye

XLDnaute Occasionnel
bonsoir
pouvez vous me dire pourquoi ce programme ne marche pas?
cela devrait me permettre sur ma feuille nommée "recap" en faisant un double clic sur une cellule dans la colonne A (ex: A6 comportant le nom Binv), d'imprimer la feuille Binv.

sub imprimer ()
Dim L As Integer, i As Integer
L = Sheets("Recap").Range("A65536").End(xlUp).Row
For i = 3 To L
If Target = "" Then Exit Sub
If Target = Range("A" & i) Then
a = Target
Sheets(a).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("Recap").Select
End If
Next
end sub
 
Re : correction programme vba

Bonsoir à tous sans oublier les autres.

Gilbert a raison : Target n'est utilisable, tel que, hors d'une macro événementielle.
Si tu passes par celle du DoubleClick, utilise une variable comme dans l'exemple joint.
 

Pièces jointes

Re : correction programme vba

Bonjour
bonsoir
j'ai remplacé les 3 targets par ActiveCell mais aucune réaction

j'ai fait ceci et ça fonctionne

Code:
Sub imprimer()
    Dim L As Integer, i As Integer
    L = Sheets("Recap").Range("A65536").End(xlUp).Row
    For i = 3 To L
        If ActiveCell = "" Then Exit Sub
        If ActiveCell = Range("A" & i) Then
            a = ActiveCell.Value
            Sheets(a).Select
            ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
            Sheets("Recap").Select
        End If
    Next
End Sub

à la condition que la feuille (a) existe et ne soit pas vide

Cdlt

RGI
 
Re : correction programme vba

range , ca veut dire colonne?
car ca doit faire référence à la colonne a
merci

Non 😡 Range ne veut pas dire colonne

c'est un objet qui représente une cellule unique ou une plage de cellules

dans Range("A" & i) c'est "A" qui représente la colonne
et i qui est une variable représentant le n° de ligne
 
Dernière édition:
- 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
7
Affichages
176
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…