petit soucis avec la commande sheets

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

N

noir_desir

Guest
Bonjour tous le monde

Je ne comprend pas trop le fonctionnement :

J'ai mis au début dans mes références à le nom de l'onglet, malheureusement certain fichier, on l'onglet avec un nom qui a été changé.
voici l'ancien code
Code:
    If (Sheets("Fiche opération").Range("I7").Value = "") Or (Sheets("Fiche opération").Range("I9").Value = "") Or (Sheets("Fiche opération").Range("I11").Value = "") Or (Sheets("Fiche opération").Range("I13").Value = "") Or (Sheets("Fiche opération").Range("I15").Value = "") Or (Sheets("Fiche opération").Range("I17").Value = "") Or (Sheets("Fiche opération").Range("I20").Value = "") Or (Sheets("Fiche opération").Range("I32").Value = "") Or (Sheets("Fiche opération").Range("I35").Value = "") Or (Sheets("Fiche opération").Range("I38").Value = "") Or (Sheets("Fiche opération").Range("I42").Value = "") Or (Sheets("Fiche opération").Range("I40").Value = "") Then
J'ai donc voulu changer la référence de l'onglet par le nom feuil1 qui lui n'est pas changeable. Mais à ce moment là j'ai une erreur 🙁
Lorsque j'essaye avec ce code il me renvoie l'erreur 9 (indice n'est pas dans la sélection)
Code:
    If (Sheets("Feuil1").Range("I7").Value = "") Or (Sheets("Feuil1").Range("I9").Value = "") Or (Sheets("Feuil1").Range("I11").Value = "") Or (Sheets("Feuil1").Range("I13").Value = "") Or (Sheets("Feuil1").Range("I15").Value = "") Or (Sheets("Feuil1").Range("I17").Value = "") Or (Sheets("Feuil1").Range("I20").Value = "") Or (Sheets("Feuil1").Range("N32").Value = "") Or (Sheets("Feuil1").Range("N35").Value = "") Or (Sheets("Feuil1").Range("N38").Value = "") Or (Sheets("Feuil1").Range("N40").Value = "") Or (Sheets("Feuil1").Range("N40").Value = "") Then

Que dois je mettre donc 🙁
 
Re : petit soucis avec la commande sheets

bonjour noir_desir, le forum

Ta macro fonctionne chez moi.
Puisque tu as renommé ta feuille dans ton code par "feuil1", vérifie bien que le nom de ta feuille de ton classeur soit identique en tout point de vue.

N'y aurait-il pas un espace qui traîne quelque part?

sinon je ne vois pas pourquoi cela ne fonctionnerai pas
 
Re : petit soucis avec la commande sheets

bonjour,
je n'ai pas cherché dans le détail d'où vient le problème mais le code n'est pas clair : trop de parenthèses inutiles et possibilité de simplifier
voir la proposition jointe avec With/end with (attention au point devant Range)
 

Pièces jointes

Re : petit soucis avec la commande sheets

Re

Perso je prefère nommer mes feuilles dans le VBE et utiliser ce nom

genre j'ai une feuille nommé "Base" dans excel je l'appelle WsBase et dans VBA j'écris

WsBase.range(....)

car le Sheets("Base") posera problème en cas de changemetn de nom

et le sheets(1) posera problème si changement d'ordre des feuilles
 
Re : petit soucis avec la commande sheets

Ok Mais cette solution n'est pas envisageable pour moi, car je lis des fichiers que je ne peux pas modifié malheureusement.

Par contre je vais devoir mettre feuil1 . range, car des feuil ont pu changé de place (enfin ça ne m'entonnerai pas 🙄 )
 
Re : petit soucis avec la commande sheets

J'ai encore un petit problème

j'ai mis cette commande pour récupérer le contenu dans ma feuil1 de la case M30

Code:
tampon = Feuil1.Range("M30").Value

Je me suis mis dans mon classeur avec
Code:
Workbooks(fichier).Activate
Il me dit que la case est vide alors que non.
 
Re : petit soucis avec la commande sheets

Je me trompe peut être, mais j'ai l'impression que cette commande renvoie du vide si la case est fusionné.

Dans un des fichiers j'ai par ex

de m31 à AB41 une fusion

avec la commande tampon=feuil1.range("N31").value il me donne une valeur vide dans tampon

par contre avec tampon=sheet(1).range("N31").value il me détecte quelque chose
 
Dernière modification par un modérateur:
Re : petit soucis avec la commande sheets

Je te joins le fichier.
Par contre pour le fichier d'extraction 🙁 il est trop gros


je te les commande que j'ai dans mon programme

Code:
Sub verif(chemin, compteur, fichier)

Dim tampon As String
     
    
    Workbooks(fichier).Activate
  'ligne qui fonctionne que avec sheets et pas feuil1
    tampon = Sheets(1).Range("N31").Value
    
    Workbooks("extraction fichier").Activate
    Sheets("extraction des fichiers").Select
    Range("B" & compteur1).Select
    ActiveCell.FormulaR1C1 = tampon
end sub

fichier est le nom du classeur
 

Pièces jointes

- 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

L
Réponses
3
Affichages
12 K
D
Réponses
1
Affichages
2 K
Damorek
D
C
Réponses
6
Affichages
1 K
Compte Supprimé 979
C
N
Réponses
5
Affichages
2 K
N
Retour