Amélioration de mon classeur

emmalice

XLDnaute Nouveau
Bonsoir le Forum,

Voila une autre de mes questions, j'ai une feuille "cahier" qui est ma base de départ, une second feuille "BL Type" que je duplique puis des feuilles 1, 100, 1000 , ... quand je change le nom de la feuille cela prend des informations des lignes de la feuille"cahier" comment faire pour qu'il n'y ait qu'une seule feuille ? En sommes j'appel la feuille1 cela prend les infos de la ligne 3 de la feuille cahier si je mets 2 cela prend les info de la ligne 4 de la feuille "cahier" est ainsi desuite jusqu'à 5000 ligne ??

ai-je été clair ?

Si non je peux fournir un exemple et vous faire mes commentaires.

Merci à tous de votre aide
 

emmalice

XLDnaute Nouveau
Re : Amélioration de mon classeur

Bonjour emmalice


Heuuu ... comment dire ... NON


STP .. oui volontier

A+

Bonjour,

Cela à le mérite d'être clair. Alors voila en PJ mon classeur, en changent le nom de la feuille par 2 ou 3 ou 4 on obtient les informations de la feuille "cahier" ligne 1 pour le nom 1, ligne 2 pour le nom 2, etc mais j'aurais besoin des formules de type :
=SI(INDIRECT("cahier!B"&DROITE(CELLULE("nomfichier";B1);1)+2)=0;"";INDIRECT("cahier!B"&DROITE(CELLULE("nomfichier";B1);1)+2))
Mais pour faire afficher les lignes jusqu'à 5000

Merci pour votre aide
Si besoin de plus d'info je peux faire démo en MP
 

Pièces jointes

  • Classeur pour Forum.zip
    231.7 KB · Affichages: 59
C

Compte Supprimé 979

Guest
Re : Amélioration de mon classeur

Re,

Je comprends mieux maintenant la question de ton 1er post :p

Voici ton fichier modifié avec une seule feuille BL et quelques formules :eek:

J'ai créée 2 noms dans le classeur
1) BL_Num
Code:
=DECALER(Cahier!$B$2;1;;NBVAL(Cahier!$B:$B)-1)
Qui permet d'obtenir la plage contenant tes numéros de BL

2) BdD_Cahier
Code:
=DECALER(Cahier!$B$2;1;;NBVAL(Cahier!$B:$B);NBVAL(Cahier!$2:$2)-1)
Qui permet d'obtenir la plage entière de ta feuille Cahier

Ensuite dans BL Type il suffit de sélectionner le numéro de BL dans la liste de validation
Et les formules avec RECHERCHEV() font le reste

Tu peux avoir plus de détail sur les fonctions dans l'aide Excel ;)

A+
 

Pièces jointes

  • Emmalice_BL type_Forum.zip
    213.1 KB · Affichages: 65

emmalice

XLDnaute Nouveau
Re : Amélioration de mon classeur

Re,

Je comprends mieux maintenant la question de ton 1er post :p

Voici ton fichier modifié avec une seule feuille BL et quelques formules :eek:

J'ai créée 2 noms dans le classeur
1) BL_Num
Code:
=DECALER(Cahier!$B$2;1;;NBVAL(Cahier!$B:$B)-1)
Qui permet d'obtenir la plage contenant tes numéros de BL

2) BdD_Cahier
Code:
=DECALER(Cahier!$B$2;1;;NBVAL(Cahier!$B:$B);NBVAL(Cahier!$2:$2)-1)
Qui permet d'obtenir la plage entière de ta feuille Cahier

Ensuite dans BL Type il suffit de sélectionner le numéro de BL dans la liste de validation
Et les formules avec RECHERCHEV() font le reste

Tu peux avoir plus de détail sur les fonctions dans l'aide Excel ;)

A+

Bonsoir,

Un grand merci BrunoM45 c'est encore mieux que ce que je pensais. Encore merci. Afin que cela soit parfait je souhaiterai qu'une fois que les cellules de la feuille 1 soit renseignées qu'il n'y ai plus la possibilité de les modifier peut-tu me donner des indications. J'ai posté à ce sujet j'ai eu quelques bonnes pistes mais je ne sais pas les exploiter. Merci de ton aide et de l'aide du Forum.
 
C

Compte Supprimé 979

Guest
Re : Amélioration de mon classeur

Re,

Pour ce que tu souhaites, il va falloir utiliser VBA

Je ne sais pas comment tu souhaites opérer, voici une possibilité dans le fichier joint
En validant la ligne saisie, mon code mets une protection dessus

mot de passe de la feuille : toto

A+
 

Pièces jointes

  • Emmalice_BL type_Forum2.zip
    220.9 KB · Affichages: 30
Dernière modification par un modérateur:

emmalice

XLDnaute Nouveau
Re : Amélioration de mon classeur

Re,

Pour ce que tu souhaites, il va falloir utiliser VBA

Je ne sais pas comment tu souhaites opérer, voici une possibilité dans le fichier joint
En validant la ligne saisie, mon code mets une protection dessus

mot de passe de la feuille : toto

A+

Bonsoir BrunoM45,
Merci de ton aide précieuse,

Avant de voir la protection des cellule une fois sortie de cette cellule j'ai un petit soucis avec le classeur précédant, en effet je rajoute la formule si(______=0;"";_______) mais dans la feuille BL Type j'obtient #VALEUR! peu tu me dire ce qui ne va pas ?

Pour la protection j'ai bien un code VBA mais je ne sais pas m'en servir voici le code est-ce compatible avec ce classeur

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([A1:A11], Target) Is Nothing And Target.Count = 1 Then
If Target <> "" Then
ActiveSheet.Unprotect
Target.Locked = True
ActiveSheet.Protect
End If
End If

Merci de me faire un cours accélérer de sa mise en place.
End Sub.
 
C

Compte Supprimé 979

Guest
Re : Amélioration de mon classeur

Bonjour emmalice

Dans une formule, si tu souhaites avoir un résultat numérique au final, il faut éviter les ""
Ta formule doti être =SI(Cellule=0;0;calcul)

Le code d'une Sub : Worksheet_Change
doit être placée dans la feuille dans laquelle elle doit être déclenchée

Mais ce code ne protège que la cellule de la colonne A que tu viens de modifier

Code / Traduction litéralle
Code:
If Not Intersect([A1:A11], Target) Is Nothing
Si n'est pas (dans l'intersection des cellules A1 à A11 et cellule modifiée) nulle
Code:
Target.Count = 1
et que le nombre de cellule modifiée est = 1
Code:
If Target <> "" Then
Si le contenu de la cellule modifiée différend de vide, alors

A+
 

emmalice

XLDnaute Nouveau
Re : Amélioration de mon classeur

Bonjour emmalice

Dans une formule, si tu souhaites avoir un résultat numérique au final, il faut éviter les ""
Ta formule doti être =SI(Cellule=0;0;calcul)

Le code d'une Sub : Worksheet_Change
doit être placée dans la feuille dans laquelle elle doit être déclenchée

Mais ce code ne protège que la cellule de la colonne A que tu viens de modifier

Code / Traduction litéralle
Code:
If Not Intersect([A1:A11], Target) Is Nothing
Si n'est pas (dans l'intersection des cellules A1 à A11 et cellule modifiée) nulle
Code:
Target.Count = 1
et que le nombre de cellule modifiée est = 1
Code:
If Target <> "" Then
Si le contenu de la cellule modifiée différend de vide, alors

A+

Merci beaucoup encore une fois grace à vous et à tous les membres du Forum je suis enfin arrivé à faire ce que je voulais encore merci

je peux maintenant refermer la discussion mais je sais pas comment encore merci 1000 fois merci.
 

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 098
Membres
103 116
dernier inscrit
kutobi87