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

H

hyo66

Guest
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 🙂😀😀
 
Re : critique et conseil

Oui merci pour votre aide,c'est juste que j'ai repris le code sur mon fichier car depuis a la demande de mes collègues pour qui j'ai entrepris l'écriture de ce fichier on m'a demandé plus de colonne pour plus d'info (notamment des prix)
Donc pour l'instant ca fonctionne avec le premier jet (parce que deja rempli de l'état du stock) et quand le second sera prêt bien sur j'intègrerai la version évolué (il me faut juste un peu plus de temps pour tout batir)
Quant a l'auteur du premier fichier le problème est que je ne sait pas qui l'a écrit
ce n'était qu'un document de travail accessible a tout un chacun
 
Re : critique et conseil

Bonsoir sur le fil

Bon je me remet au travail 🙂🙂🙂🙂 pour les tests

A priori il y a un problème sur ton écriture

Private Sub CommandButton1_Click()

If Not (ActiveCell.Row > 14 And ActiveCell.Row < Trim(Str(Range("weight").Row) - 2)) Then Exit Sub
Cells(ActiveCell.Row + 1, 1).EntireRow.Insert
Range("P" & ActiveCell.Row + 1 & ",S" & ActiveCell.Row + 1 & ",V" & ActiveCell.Row + 1 & ",Y" & ActiveCell.Row + 1 & ",AB" & ActiveCell.Row + 1 & ",AE" & ActiveCell.Row + 1).FormulaR1C1 = "=MAX(0,RC[-1]-OFFSET(RC,0,-8-INT(COLUMN()/3)))"
ActiveSheet.PageSetup.PrintArea = "$A$1:$AG$" + Trim(Str(Range("weight").Row) + 2)
End Sub

par contre je ne comprend pas pourquoi tu démarres en if not car la condition de depart était if ??
 
Dernière modification par un modérateur:
Re : critique et conseil

Bonsoir Staple

Je pensais t'avoir répondu !!
Il me semble que c'est pour conserver la ligne des totaux qui ne peut pas être supprimée
voir le post #48

Cordialement
 
Dernière modification par un modérateur:
Re : critique et conseil

Bonjour à tous,

visiblement, tu as des questions en retard 😉

par contre je ne comprend pas pourquoi tu démarres en if not car la condition de depart était if

parce que plutôt que If Condition Then Je fais mes actions, j'ai mis
If Not Condition Then Exit Sub (je quitte la sub avant de faire les actions)
ça économise un End If (1 ligne)

A priori il y a un problème sur ton écriture
Cells(ActiveCell.Row + 1, 1).EntireRow.Insert

si je me base sur le code de départ, il me semble que

Code:
       activerow = ActiveCell.Row + 1
        Cells(activerow, 1).EntireRow.Insert

devrait être équivalent à ce que j'ai mis, non ?
 
Re : critique et conseil

Bonsoir a tous
Je découvre la logique d'écriture avec vos remarques car j'interprète beaucoup avec ma logique
effectivement ce que tu dis est logique pour la double négation mais alors pourquoi ca coince sur la ligne en couleur ?😀😀😀😀

Y a t il une condition non respectée ?
 
- 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

Réponses
5
Affichages
912
Réponses
11
Affichages
969
L
Réponses
9
Affichages
1 K
Réponses
1
Affichages
1 K
Réponses
9
Affichages
1 K
  • Question Question
Réponses
3
Affichages
1 K
Retour