Creation macro excel
Marco
-
Theo.R Messages postés 575 Date d'inscription Statut Membre Dernière intervention -
Theo.R Messages postés 575 Date d'inscription Statut Membre Dernière intervention -
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
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:
- Creation macro excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Creation compte gmail - Guide
- Création site web - Guide
1 réponse
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 :
Supprimer les lignes créées:
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
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.
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"
Bonne continuation