Creation macro excel

Fermé
Marco - Modifié par Marco le 11/02/2016 à 16:56
Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 - 15 févr. 2016 à 11:55
Bonjour,

Jai besoin de votre aide pour crée une macro

Voila j'ai un tableau excel avec beaucoup d'information mais en gros chaque individus a un nombre d'heure par semestre à realiser.

C1 =Nom C2= Prenom C3=NB.Hsemestre1 C4=NB.Hsemestre2 etc.

ce que je veux faire, c'est qu'en dessous de chaque ligne (environ 800), se créer une sous ligne et qu'en dessous de la colone nom il y'a la somme de C3+C4+X etc.

Aussi crée la macro qui supprime ses lignes


Merci de votre aide

ps: je suis très débutant

A voir également:

1 réponse

Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 31
11 févr. 2016 à 17:08
En prenant A1, B1, C1 et D1 au lieu de C1, C2, C3 et C4 qui sont incohérents avec le reste de la description :

insérer et calculer :
Sub test()
Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row

For i = DernLigne to 1 step -1

Rows(i+1 & ":" & i+1).select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Cells(i+1,1).value = Cells(i,3).value + Cells(i,4).value

Next i
End Sub


Supprimer les lignes créées:
Sub test2()
Dim DernLigne As Long
DernLigne = Range("A" & Rows.Count).End(xlUp).Row

For i = DernLigne to 1 step -1

If Cells(i+1,1).value <> "" And Cells(i+1,1).value = Cells(i,3).value + Cells(i,4).value Then
Rows(i+1 & ":" & i+1).Select
Selection.Delete Shift:=xlUp
End If
Next i
End Sub
0
merci de ta rep, je vais tester cela
0
"Cells(i+1,1).value = Cells(i,3).value + Cells(i,4).value"

cette ligne correspond aux colonnes prise pour calculer la somme c'est cela? comment faire pour choisir des colonnes spécifiques ? par exemple D1 F1 H1 sans prendre celles comprise entre.
0
Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 31
Modifié par Theo.R le 12/02/2016 à 10:01
L'objet Cells de construit comme suit :
Cells([N° de Ligne],[N° de Colonne])
Nb: pour le N° de Colonne, 1 désigne A, 2 désigne B, 3 désigne C, etc.

Donc pour changer les colonnes, il faut changer la 2ème partie :

"Cells(i,3).value" signifie : la valeur de la cellule Ci

Si on prend l'ensemble de la ligne de code : "Cells(i+1,1).value = Cells(i,3).value + Cells(i,4).value"
Signifie : la cellule A(i+1) est valorisée par la somme de Ci et de Di

Pour remplacer Ci et Di par Di, Fi et Hi, on aurait :
"Cells(i+1,1).value = Cells(i,4).value + Cells(i,6).value" + Cells(i,8).value"

PS: si l'objet Cells vous semble compliqué, vous pouvez utiliser Range(...). Range permet de désigner une plage (qui peut être 1 seule cellule ou plus).
Dans notre exemple ça donnerait :
"Range("A" & i + 1).value = Range("D" & i).value + Range("F" & i).value + Range("H" & i).value + Range("D" & i).value"
0
super merci beaucoup !
0
Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 31 > Marco
15 févr. 2016 à 11:55
Pas de souci, pensez à passer le sujet en Résolu si vous avez tout ce dont vous aviez besoin ;)

Bonne continuation
0