Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Erreur sur une macro

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

sev31130

XLDnaute Impliqué
Bonsoir ,


En son temps une personne avait eu la gentillesse de me faire une macro afin de faciliter certains calculs, avec le temps je me rends compte que les résultats sont faux.
Afin de vous demander de l'aide j ai fais un petit fichier (que je vous joins) pour vous expliquer comment cela fonctionne et ou est l'erreur et je vous joins mon fichier que vous trouverez ci joint a ce lien:
(c) CJoint.com, 2012

Vous remerciant par avance
J'espère avoir été assez clair

par avance merci
 

Pièces jointes

Re : Erreur sur une macro

Afin de mieux comprendre le processus de ce classeur voici comment sont obtenus les résultats:

Vous l'aurez bien compris c'est une étude de statistiques sur les numéros des arrivées de quinté,

donc dans l'ordre je remplis

1) le matin la feuilles pronos à la date du jour.

2) Dés que j'ai le résultat je note dans une des feuille P pour le plat T pour le Trot et O pour l'Obstacle suivant la discipline du jour
je clique sur le bouton calcul et ensuite sur le bouton Transfert afin de renseigner la feuille "generale"

3) A la suite de quoi il y a une mise a jour automatique dans la feuille "pronos" des colonnes W.X.Y.Z.AA à la date du jour

4) les colonnes B.C.D. des feuilles "ecart P" et "ecart G" sont renseignées à partir des colonnes W.X.Y. dela feuille pronos

et le problème arrive donc après

puisque nous avons comme critére de selection sur les feuilles "ecart P" et ecart G" la colonne E c'est-à-dire :
si lettre P il faut renseigner les colonnes B.C.D. des feuilles "ecart PP" et "ecart GP"
si lettre T il faut renseigner les colonnes B.C.D . des feuilles " ecart PT" et " ecart GT"
si lettre O il faut renseigner les colonnes B.C.D. des feuilles "ecart PO" et " ecart GO"


Donc en fait aujourd'hui mon problème c'est que la macro me copie la ligne entiére, alors que je n'ai besoin que des 3 colonnes car le cal cul se fait automatiquement dans les colonnes F-R
mais en l'état le calcul ne se fait plus car il est écrasé par la copie de la ligne intégrale de:
la feuille " ecart G " vers soit "ecart GP" soit "ecart GT" soit "ecart Go"
et la feuille "ecart P" vers soit la feuille "ecart PP" soit "ecart PT" soit ecart PO"

JE PENSE QUE VOUS COMPRENDREZ MON EXPLICATION
IL VOUS FAUDRA PRENDRE LE CLASSEUR QUI EST EN PJ SUR L AUTRE SITE POUR MIEUX COMPRENDRE MON EXPLICATION
(c) CJoint.com, 2012
MERCI PAR AVANCE
 
Re : Erreur sur une macro

Bon ,

J'ai une idée, j'ai l'impression que cela ce situe dans la macro transfert , mais je trouve pas le bouton transfert et donc il me manque une clé , et lorsque l'on ne connait pas le mécanisme , le classeur est complexe à utiliser semble-t-il .
 
Re : Erreur sur une macro

Bonsoir

C'est la macro qui est dans ThisWorkbook qu'il faut rectifier, mais je ne sais pas faire.
Par avance merci à la personne qui voudras bien rectifier

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Copie Sheets("ecart P"), Sh
Copie Sheets("ecart G"), Sh
End Sub

Sub Copie(F As Worksheet, Sh As Worksheet)
If Not Sh.Name Like F.Name & "?" Then Exit Sub
Dim lettre As String, lig As Long
lettre = Right(Sh.Name, 1)
Application.ScreenUpdating = False
Application.DisplayAlerts = False 'à cause des liaisons...
Application.Calculation = xlCalculationManual 'calcul sur ordre
F.Cells.Copy Sh.[A1] 'pour les formats
Sh.[F4:R4] = Sh.[T1:AF1].Offset(Application.Match(lettre, Sh.[AG2:AG4], 0)).Value
lig = Sh.UsedRange.Row + Sh.UsedRange.Rows.Count - 1
If lig > 4 Then 'début en ligne 5
With Sh.Range(Sh.Cells(5, 5), Sh.Cells(lig, 5))
Me.Names.Add "matrice", .Value 'nom défini par une matrice
.FormulaArray = "=LN(matrice=""" & lettre & """)"
.Value = .Value
.EntireRow.Sort .Cells(1), Header:=xlNo 'tri pour accélérer la suppression
On Error Resume Next
.SpecialCells(xlCellTypeConstants, 16).EntireRow.Delete
.Value = lettre
Me.Names("matrice").Delete
voila celle ci de macro serait bonne, mais elle recopie intégralement toute la feuille
 
- 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

Discussions similaires

Réponses
4
Affichages
295
  • Question Question
Microsoft 365 Bug sur une macro
Réponses
6
Affichages
438
Réponses
23
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…