XL 2013 problème au niveau de ma macro

ATHE RIOVELI

XLDnaute Occasionnel
Bonsoir le forum.
Je souhaite créer cette macro pour ma feuille excel, mais elle ne fonctionne pas.
je souhaite avoir des notes G13, G14, G15, ........ en fonction des valeurs des autres cellules.
Alors voici un peu cette macro que excel le me laisse même pas finir.

Private worksheet_Active ( )
Dim J as integer
For J= 13 to 124
if [G10]="" Then Celle (J,7)=""
if Cells(J,2)="" Then Cells(J,7)=""
elses
Cells (I,7)=[G10]+Cells(J,5)-(QUOTIENT(cells(I,5);3))
End if
End if

MERCI A VOUS
 

job75

XLDnaute Barbatruc
Bonjour ATHE RIOVELI, cathodique, natorp,

Pourquoi utiliser la variable I, elle n'est pas définie ?!

D'après ce que je crois comprendre (?) ceci fonctionne :
Code:
Private Sub Worksheet_Activate()
Dim J As Integer
For i = 13 To 124
Celle(J, 7) = IIf([G10] = "" Or Cells(J, 2) = "", "", [G10] + Cells(J, 5) - Application.Quotient(Cells(J, 5), 3))
Next
End Sub
A+
 

ATHE RIOVELI

XLDnaute Occasionnel
Bonsoir Job75, Bonsoir le forum.
Lorsque je met la macro dans la feuille concernée, il apparait ce message:
nom ambigu détecté détecte: Worksheet_Activate()
alors que cette macro, je pense qu'elle est effectivement ce que je recherche.
Pourquoi donc nom ambigu?
MERCI pour votre aide
A+
 

ATHE RIOVELI

XLDnaute Occasionnel
Re bonjour le forum,
j'ai insérer cette partie de la macro de la macro
For I = 13 To 100
Cells(I, 7) = IIf([G10] = "" Or Cells(I, 2) = "", "", [G10] + Cells(I, 5) - Application.Quotient(Cells(I, 5), 3))
Next
le message que je reçoit est erreur d’incompatibilité.

Voici la macro qui initiale proposé par l'excellent job75:

Private Sub Worksheet_Activate()
Dim I%
[Date_debut] = [D2]: [Date_fin] = [F2] 'pour le calcul des heures d'absence
If Application.Sum([D13.F13].Resize(100)) Then
For I = 1 To 100
If Feuil1.Cells(I + 14, 2) <> Cells(I + 12, 2) Or [Date_debut].Offset(I + 3) <> Cells(I + 12, 3) Then _
If MsgBox("Attention la feuille source a été modifiée, faut-il vraiment mettre à jour le trimestre ?", 4) = 6 _
Then Exit For Else Exit Sub
Next
End If
[A13:B13].Resize(100) = Feuil1.[A15:B15].Resize(100).Value
[C13].Resize(100) = [Date_debut].Offset(4).Resize(100).Value
End Sub
 

Dranreb

XLDnaute Barbatruc
Bonjour.
ATHE RIOVELY
Il n'existe pas d'évènement Active pour l'objet Worksheet.
Le nom d'évènement qui s'en rapproche le pluse c'est Activate
S'il s'agit d'une procédure interne que vous appelez vous même de quelque part d'autre, vous ne devriez pas l'appeler comme ça !
 

ATHE RIOVELI

XLDnaute Occasionnel
Bonjour le forum.
Je vous joint le classeur en question : mot de passe ADMIN.
il s(agit au niveau des feuilles 1er trim, 2ème Trim et 3ème trim de donner la note de conduite des élèves.
Lorsque dans la cellule G13 j'écrit ceci G13=G10+F13-QUOTIENT(D13;3),
pas de souci, on a lo note de conduite de l'élève.
Mon souci est que je souhaite pas tirer vers le bas pour incrémenter.
Je souhaite une macro pour gérer cette formule au niveau de trois trimestres.
Parceque avec les macros, les formules n'apparaissent pas dans la barre de formule.
MERCI
A+
 

Pièces jointes

  • CAHIER D'APPELS(8).xlsm
    373 KB · Affichages: 55

Discussions similaires

Réponses
17
Affichages
760

Statistiques des forums

Discussions
311 720
Messages
2 081 897
Membres
101 833
dernier inscrit
sandra25