petit soucis avec la commande sheets

noir_desir

XLDnaute Junior
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 :(
 

ballmaster

XLDnaute Occasionnel
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
 

dixit

XLDnaute Impliqué
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

  • EDNoirdesir-macro.xls
    21.5 KB · Affichages: 66

PascalXLD

XLDnaute Barbatruc
Modérateur
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
 

noir_desir

XLDnaute Junior
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 :rolleyes: )
 

noir_desir

XLDnaute Junior
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.
 

noir_desir

XLDnaute Junior
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 édition:

noir_desir

XLDnaute Junior
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

  • V1106_Suivi affaire.zip
    3.9 KB · Affichages: 21

Statistiques des forums

Discussions
312 447
Messages
2 088 494
Membres
103 870
dernier inscrit
didiexcel