critique et conseil

hyo66

XLDnaute Nouveau
Bonsoirs a tous et toutes

J'aimerai avoir vos commentaires sur une ligne de code que j'ai ecrite (ca fonctionne)
ma question est simple : peut on l'écrire en moins de ligne ?
c'est pour le cas ou je devrai rajouter des colonnes de données a traiter

Private Sub CommandButton1_Click()

If ActiveCell.Row > 14 And ActiveCell.Row < Trim(Str(Range("weight").Row) - 2) Then
activerow = ActiveCell.Row + 1
Cells(activerow, 1).EntireRow.Insert
Cells(activerow, 16).FormulaR1C1 = "=IF(RC[-13]>RC[-1], 0,RC[-1]-RC[-13])"
Cells(activerow, 19).FormulaR1C1 = "=IF(RC[-14]>RC[-1], 0,RC[-1]-RC[-14])"
Cells(activerow, 22).FormulaR1C1 = "=IF(RC[-15]>RC[-1], 0,RC[-1]-RC[-15])"
Cells(activerow, 25).FormulaR1C1 = "=IF(RC[-16]>RC[-1], 0,RC[-1]-RC[-16])"
Cells(activerow, 28).FormulaR1C1 = "=IF(RC[-17]>RC[-1], 0,RC[-1]-RC[-17])"
Cells(activerow, 31).FormulaR1C1 = "=IF(RC[-18]>RC[-1], 0,RC[-1]-RC[-18])"
End If

ActiveSheet.PageSetup.PrintArea = "$A$1:$AG$" + Trim(Str(Range("weight").Row) + 2)

End Sub

Merci pour vos réponses par avance :):D:D
 

hyo66

XLDnaute Nouveau
Re : critique et conseil

T'es vraiment un grogon de base JP :mad::mad::mad::mad:
JE vous ai transmis le fichier d'ORIGINE ,pour que l'on puisse comprendre la logique de l'écriture du code sans qu'il n'y ai eu de modif qui altèrerai l"analyse du fichier
Je me suis deja servi de ce fichier comme base (ou la ca va lui faire plaisir il n'y a plus de mot de passe) pour réécrire une nomenclature technique qui me donne les poids,les surfaces et les longueurs de profilé et même un fichier de gestion de stock de matière première grâce a quelque un des membres dont JP ne fait pas parti d'ailleurs.
C'est en créant ces nouveaux fichiers que je me suis aperçu que la feuille 1 était masquée (pourquoi je SAIS PAS)
Ce post a pour but de décortiquer par ceux qui savent si ce code est très bien écrit ou non mais je conçois que ca n'intéresse pas tout le monde.
Donc merci JP pour ta contribution très constructive mais ne te sent pas obliger de répondre sur ce post merci
Désolé pour l'humeur mais la il m'agace
 
Dernière édition:

hyo66

XLDnaute Nouveau
Re : critique et conseil

Maintenant que les choses sont dites si des costauds sont intéressés pour comprendre ce code,en temps que utilisateur averti je suis dispo pour vous donner les explications de fonctionnement du fichiers
Merci
 

jeanpierre

Nous a quitté
Repose en paix
Re : critique et conseil

Re,

hyo66, Inscription février 2010 - messages 36...

Déjà je ne suis pas grognon de base, simplement je t'ai dit "pas de fichier", ensuite "fichier protégé" on fait quoi... Alors permet moi de critiquer ton intervention pas du tout sympathique, voire même ...... bon passons.

Certes tu avais donné le mdp, mais admets aussi que lorsque l'on passe de nombreuses heures devant l'écran pour répondre du mieux possible, il arrive que l'on ne voit pas l'essentiel...

N'empêche qu'un mot de passe sur un fichier pour lequel on demande de l'aide et sur un forum est ridicule...

La feuille masquée ne s'est pas masquée toute seule....

Donc, dans Outils/Protection/Déprotéger la feuille, tu retires le mod de passe.

Même menu Déprotéger le classeur, et dans VBE, tu te positionnes sur la feuille en question et dans Propriétés tu selectionnes -1 - xlSheetVisible.

Bonne soirée.

Jean-Pierre

PS : Tu pourras me critiquer lorsque tu me connaîtras
 
Dernière édition:

hyo66

XLDnaute Nouveau
Re : critique et conseil

Décidément tu n'as rien compris
Il n'y a pas de demande particulière,suis ce qui s'est dit sur les premiers posts et tu verras en fait que j'ai répondu a une question sur le pourquoi d'une ligne de code.N'étant pas l'auteur de ce fichier j'ai mis a disposition le fichier original pour comprendre la syntaxe
et c'est tout

C'est d'ailleurs une déviation du sujet a l'origine mais comme ca m'intéresse de comprendre j'ai poursuivi dans ce sens et la tu arrives et tu mets la panique par tes humeurs.
Quant a ton allusion a mon ancienneté sur le forum sache que je donnerai toujours mon point de vue si j'estime que cela est nécessaire.Le droit a la parole n'est pas le privilège des anciens.

ps: Je ne t'ai pas critiqué.J'ai réagi a ton agressivité verbale

Salutations
 
Dernière édition:

jeanpierre

Nous a quitté
Repose en paix
Re : critique et conseil

Re,

Si tu trouves que j'ai eu une "J'ai réagi a ton agressivité verbale", j'aimerai savoir où???

J'ai simplement répondu au fil des fils.... avec mon sentiment de l'instant.

Si tu es aussi exacerbé tu dois être bien malheureux.
 

hyo66

XLDnaute Nouveau
Re : critique et conseil

Merci de te soucié de ma vie mais t'inquiètes pour moi tout baigne
Je suis conscient de tes capacités dans le domaine d' excel
mais ce n'est pas une raison pour adopter un ton suffisant surtout si tu t'es trompé du départ sur mes actions et mes intentions
La discussion en ce qui me concerne est close
 
Dernière édition:

hyo66

XLDnaute Nouveau
Re : critique et conseil

Bonsoir le squal - Pascal peut être ? :D:D
Alors si tu as ouvert le fichier peut être as tu vu que l'on peut ajouter autant de ligne que l'on veut avec insert et les supprimer aussi ,bien sur tout les calculs suivent et il y a un calcul récapitulatif de poids qui s'affiche en bas mais qui est dans une zone que l'on ne peut pas supprimer (comme l'entête d'ailleurs) c'est la raison d'existence du mot de passe
toutes les lignes étant repérées par un numéro sur un plan de construction de la machine.il est facile donc de modifier la construction et de mettre a jour la feuille de calcul sans que les différents éléments soient tous mélangés
 

Fo_rum

XLDnaute Accro
Re : critique et conseil

Salut

Ça dérive « grave » aurait dit Newton :mad:.
La loi universelle de la gravitation est battue en brèche !
Voilà le genre de discussion qui rebondit n’importe où et n’importe comment, qui vous donne envie d’aller voir ailleurs (où la pesanteur n’existe pas).

hyo66, tu ne nous dis pas si les propositions faites, notamment celle de tototiti2008, convenaient à ton adaptation (qui présente plus de lignes du même type que le dernier fichier joint).
 

hyo66

XLDnaute Nouveau
Re : critique et conseil

Bonsoir a tous
La question d'origine avait pour but de trouver une formule plus "légère"mais je vois que a priori ce n'est pas évident.
J'ai écrit les choses assez basiquement,et ca fonctionne.cette question c'est surtout pour m'aider a evoluer en VBA
merci a tous pour m'avoir proposé une alternative

mais la question intéressante est surtout celle du squal
Si vous êtes entré dans le fichier original peut être pourrez vous mieux comprendre le pourquoi du comment :):):):):):)
A+
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : critique et conseil

Bonjour à tous


Code:
ActiveCell.Row < Trim(Str(Range("weight").Row) - 2)
Je continue à ne pas comprendre la logique de ce code

Merci à hyo66 de l'expliquer , svp.

ou à l'auteur original du fichier car relisant le fil , j'ai noté que

N'étant pas l'auteur de ce fichier j'ai mis a disposition le fichier original pour comprendre la syntaxe
ce qui est en contradiction avec :confused::confused:

J'aimerai avoir vos commentaires sur une ligne de code que j'ai ecrite (ca fonctionne)
 
Dernière édition:

hyo66

XLDnaute Nouveau
Re : critique et conseil

Bonjours Staple1600
En fait j'ai transformé un fichier existant pour en faire autre chose d'où mon écriture basique pour obtenir ce que je voulais vu au début du post
Mais justement suite a la question sur une ligne d'écriture qui elle est d'origine je vous ai mis a dispo le fichier source et la ce n'est pas moi l'auteur
effectivement vu dans son contexte initiale j'ai pensé que les costauds pourraient comprendre pourquoi
Staple je suis a ta dispo si tu as d'autres questions (du moins sur la manière d'utiliser ce fichier)
a+
Merci de ton intérêt a ce post

Cordialement
 
Dernière édition:

hyo66

XLDnaute Nouveau
Re : critique et conseil

Après réflexion, corrigé moi si je me trompe

Dans le fichier j'ai 2 boutons
1 pour insérer une ligne (avec les calculs associés)
1 pour supprimer le même type de ligne
or la successions de ces lignes nous donne des résultats sous forme de sous totaux et un total final
le total final se trouve en bas de toutes les lignes mais il ne doit pas être possible de le supprimer mais par contre il faut tout intégrer pour imprimer l'intégralité du document
c'est pourquoi je pense que c'est une manière de protéger une zone ou il y a un résultat et qu'il faut interpréter cette ligne avec celle du début quelque soit le calcul fait dans les lignes intermédiaires

rappel du code du bouton insertion :

Private Sub CommandButton1_Click()

ActiveSheet.Unprotect Password:="newton"
If ActiveCell.Row > 14 And ActiveCell.Row < Trim(Str(Range("weight").Row) - 2) Then
activerow = ActiveCell.Row + 1

Cells(activerow, 1).EntireRow.Insert
Cells(activerow, 16).FormulaR1C1 = "=IF(RC[-13]>RC[-1], 0,RC[-1]-RC[-13])"
Cells(activerow, 19).FormulaR1C1 = "=IF(RC[-14]>RC[-1], 0,RC[-1]-RC[-14])"
Cells(activerow, 22).FormulaR1C1 = "=IF(RC[-15]>RC[-1], 0,RC[-1]-RC[-15])"
Cells(activerow, 25).FormulaR1C1 = "=IF(RC[-16]>RC[-1], 0,RC[-1]-RC[-16])"
Cells(activerow, 28).FormulaR1C1 = "=IF(RC[-17]>RC[-1], 0,RC[-1]-RC[-17])"
Cells(activerow, 31).FormulaR1C1 = "=IF(RC[-18]>RC[-1], 0,RC[-1]-RC[-18])"
End If
ActiveSheet.Protect Password:="newton"
ActiveSheet.PageSetup.PrintArea = "$A$1:$AG$" + Trim(Str(Range("weight").Row) + 2)

End Sub
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : critique et conseil

Re

hyo66
Juste une demande de complément d'information:
Plutôt que de parler de l'auteur, ce serait plus sympa (et courtois) de citer le nom de l'auteur (voire de citer le lien du fil de discussion ou se trouve la macro dont tu t'es servi)

Par contre je reste dans un état dubitatif et une certaine confusion émotionnelle quand à ceci :
On te propose du code VBA (moi le premier) plus concis (ce que tu demandais au début de ton post)
Lien supprimé
Et là je m'aperçois que tu n'utilises aucune des propositions qui t'ont été faites ???

Code:
Private Sub CommandButton1_Click()
ActiveSheet.Unprotect Password:="newton"
 If ActiveCell.Row > 14 And ActiveCell.Row <  Trim(Str(Range("weight").Row) - 2) Then
        activerow = ActiveCell.Row + 1
        Cells(activerow, 1).EntireRow.Insert
        Cells(activerow, 16).FormulaR1C1 = "=IF(RC[-13]>RC[-1],  0,RC[-1]-RC[-13])"
        Cells(activerow, 19).FormulaR1C1 = "=IF(RC[-14]>RC[-1],  0,RC[-1]-RC[-14])"
        Cells(activerow, 22).FormulaR1C1 = "=IF(RC[-15]>RC[-1],  0,RC[-1]-RC[-15])"
        Cells(activerow, 25).FormulaR1C1 = "=IF(RC[-16]>RC[-1],  0,RC[-1]-RC[-16])"
        Cells(activerow, 28).FormulaR1C1 = "=IF(RC[-17]>RC[-1],  0,RC[-1]-RC[-17])"
        Cells(activerow, 31).FormulaR1C1 = "=IF(RC[-18]>RC[-1],  0,RC[-1]-RC[-18])"
     End If
ActiveSheet.Protect Password:="newton"
    ActiveSheet.PageSetup.PrintArea = "$A$1:$AG$" +  Trim(Str(Range("weight").Row) + 2)
    End Sub
Ce code est strictement le même !!!! que ton premier message
Lien supprimé
 
Dernière édition:

Statistiques des forums

Discussions
312 109
Messages
2 085 382
Membres
102 877
dernier inscrit
robinet