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

VBA Petit souci de code

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

Kiseki

XLDnaute Occasionnel
Bonjour,

Ce code fonctionne très bien dans la feuille "Prix_de_vente :
Code:
Sub gogo()
    Dim nbrs_lignes As Integer
    
    nbrs_lignes = WorksheetFunction.CountA(Sheets("Prix_de_vente").Range("B:B"))
    
    
    For i = 2 To nbrs_lignes
        If Sheets("Prix_de_vente").Cells(i, 1).Value = Sheets("Ajout").Range("D14").Value Then
            Sheets("Prix_de_vente").Cells(i, 1).Select
            MsgBox "Trouver !"
            Exit Sub
        End If
        Sheets("Prix_de_vente").Cells(i, 1).Select
    Next
    MsgBox "Pas trouver"
End Sub

Mais si je suis dans une autre feuille, une fois qu'il à trouvée (j'ai fait pas à pas) :

"La méthode select de la classe range a échoué."



J'aurai également bien voulu faire :
Code:
dim bd_n as range
set bd_n = Sheets("Prix_de_vente").Cells(i, 1)

Mais cela donne une erreur.
 
Re : VBA Petit souci de code

Bonjour,

Pour qu'une cellule soit sélectionner par la méthode .SElect, il faut que la feuille soit active
Plusieurs solutions:

Sheets("Prix_de_vente").activate
Cells(i,1).select

Ou

Application.Goto Sheets("Prix_de_vente").Cells(i,1) , True '(ou false, au choix voir l'aide en ligne sur Application.Goto).


N.B: Dim nbrs_lignes As LONG

A+
 
Dernière modification par un modérateur:
Re : VBA Petit souci de code

Merci ça fonctionne,


Et pour ceci :
J'aurai également bien voulu faire :

Code:
dim bd_n as range
set bd_n = Sheets("Prix_de_vente").Cells(i, 1)

Ce me serait très utile de pouvoir faire :

Code:
bd_n.Cells(i, 1).Select
 
Re : VBA Petit souci de code

Bonjour, Kiseki, Hasco🙂

comme dit par Hasco, il faut que la feuille soit activée au préalable avant de selectionner une cellule... A noter qu'en vba il est rarement utile d'effectuer des "select"....

bon après midi
@+
 
Re : VBA Petit souci de code

Bonjour,


Merci,

Le but du select était de pouvoir voir convenablement ce qui ce passait pas à pas.

Je débute en VBA et donc il me faut un peu d'expérience pour pour que mon imagination puisse imager le code.
 
Re : VBA Petit souci de code

Bonsoir,

Sans plus d'explication et/ou fichier difficile de faire mieux. Mais il me semble qu'il y aurait plus simple avec la méthode:

Sheets("Prix_de_vente").Columns(1).Find (What:=Sheets("Ajout").Range("D14").value, ......)

Voir l'aide en ligne sur la méthode Find.

A+
 
- 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
15
Affichages
779
Réponses
5
Affichages
909
Réponses
1
Affichages
323
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…