Aide VBA excel
mosdef28
-
mosdef28 -
mosdef28 -
Bonjour,
actuellement je travail, dans le cadre d'un projet, sur un fichier Excel.
N'étant pas utilisateurs expert, je fait appel a vous pour m'aider à programmer le fichier.
En quelque mot j'ai besoin :
- d'insérer des lignes selon une saisie (ca j'ai réussi mais je voudrais que la macro ne s'éxecute qu'en cas de saisie dans une plage de cellule et surtout qu'une seule fois par groupe)
- Fusionner des cellules apres insertion des lignes
- recopier des formules des lignes précédentes
et d'autre petite chose qui viendront un coup que cela seras opérationnel.
Merci d'avance !
actuellement je travail, dans le cadre d'un projet, sur un fichier Excel.
N'étant pas utilisateurs expert, je fait appel a vous pour m'aider à programmer le fichier.
En quelque mot j'ai besoin :
- d'insérer des lignes selon une saisie (ca j'ai réussi mais je voudrais que la macro ne s'éxecute qu'en cas de saisie dans une plage de cellule et surtout qu'une seule fois par groupe)
- Fusionner des cellules apres insertion des lignes
- recopier des formules des lignes précédentes
et d'autre petite chose qui viendront un coup que cela seras opérationnel.
Merci d'avance !
A voir également:
- Aide VBA excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
3 réponses
Bonjour,
« je voudrais que la macro ne s'exécute qu'en cas de saisie dans une plage de cellule »
Exemple de code à placer dans le module de la feuille :
« Fusionner des cellules »
Exemple de code à placer dans la macro :
« recopier des formules des lignes»
Peut-être qu'il suffit de copier la ligne :
« je voudrais que la macro ne s'exécute qu'en cas de saisie dans une plage de cellule »
Exemple de code à placer dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, [B4:C8]) Is Nothing Then Exit Sub Call MonModule.MaMacro End Sub
« Fusionner des cellules »
Exemple de code à placer dans la macro :
ActiveSheet.Range("E2:F4").Merge
« recopier des formules des lignes»
Peut-être qu'il suffit de copier la ligne :
ActiveSheet.Rows("15").Copy ActiveSheet.Rows("16")Sinon c'est un peu plus compliqué :
Dim rng As Range Dim cel As Range Set rng = Selection Set cel = ActiveCell ActiveSheet.Rows("15").Copy ActiveSheet.Rows("16").PasteSpecial Paste:=xlPasteFormulas Application.CutCopyMode = False rng.Select cel.Activate Set cel = Nothing Set rng = NothingMais peut-être ne faut-il pas copier toute la ligne mais seulement certaines cellules....