VBA

J

JC de Lorient

Guest
Bonjour le forum

je souhaite une petite aide concernant les codes VBA qui me permettent :

1) de sélectionner un certain nombre de cellulle d'un tableau X ( toujours les mêmes) ex: A1 B5 C1 D8 H9 puis de les recopier sur la 1ère ligne vide disponible d'un tableau Y

2) qu'à l'ouverture de mon fichier que se soit toujours la feuille 2 qui s'affiche.

merci pour vos conseils avisée

JC
 
J

JC de Lorient

Guest
re le forum

je rajoute une requête:
après plusieurs essais infructueux avec SOMME.SI je m'en remets a vos talents

en colonne A j'ai des dates au format mm/aaaa
en colonne K j'ai des montants

je recherche a faire le cumul des montants entre 2 dates

ex : cumul de 06/2004 à 09/2004 soit 4 mois

merci à vous

JC
 
P

Patrick C

Guest
Bonjour JC de Lorient et bonjour le Forum

Pour la copie automatique de tableau, je ne peux que te conseiller d'enregistrer toi même une macro.
Pour cela, tu vas dans "outils" - "Macro" - "Nouvelle Macro"
tu donnes un nom à ta macro et ensuite tu exécutes l'action que tu dois réaliser
et pour finir tu arrêtes l'enregistrement.

Comme ça tu apprendras pleins de choses et tu te simplifieras la vie avec excel

Pour l'ouverture systématique sur la feuil2, tu places le code suivant dans "thisWorkbook" (clic droit sur un onglet et choisir visualiser le code)

Private Sub Workbook_Open()

Sheets("Feuil2").Activate

End Sub


et n'hésite pas à utiliser la fonction recherche de ce forum, tu vas trouver vite vite bonheur ;-)

Patrick
 
@

@+Thierry

Guest
Bonjour JC, le Forum

Tout d'abord une petite remarque en ce qui concerne les bonnes règles d'usage dans ce Forum car ton sujet est on ne peut plus vaste... Par ailleurs ton second post semble concerner une Formule, ce qui n'a rien à voir. (Voir notre Charte

Pour ce qui est de ta première question : Copy de cellules non adjacentes vers un autre tableau, voici un code qui devrait faire ce que tu cherches :

Option Explicit

Sub MultiCellCopy()
Dim PlageSource As Range, Cell As Range
Dim LastLine As Long
Dim Colonne As Byte


With Sheets("Sheet1")
  Set PlageSource = Application.Union(.Range("A1"), .Range("B5"), .Range("C1"), .Range("D8"), .Range("H9"))
End With

LastLine = Sheets("Sheet2").Range("A65536").End(xlUp).Row + 1
Colonne = 1


   For Each Cell In PlageSource
      With Sheets("Sheet2")
         .Cells(LastLine, Colonne) = Cell
      End With
   Colonne = Colonne + 1
   Next

End Sub



Pour ce qui est de ta seconde question : Ouverture du Classeur sur une Feuille Particulière, voici un code à placer dans le Private Module "ThisWorkBook"

Private Sub Workbook_Open()
Sheets("Feuile 2").Activate
End Sub



Pour ce qui est de ton second Post, je ne suis pas spécialiste de Formule, mais en VBA ça donnerait ceci en partant du principe que tu saisis la DateFrom et la DateTo en "Sheet1" :

Sub BetweenDateCalculation()
Dim DateFrom As Date
Dim DateTo As Date
Dim PlageDate As Range, Cell As Range
Dim TheTotal As Double

DateFrom = Sheets("Sheet1").Range("A1")
DateTo = Sheets("Sheet1").Range("A2")

Set PlageDate = Sheets("Sheet3").Range("A1:A100")

   For Each Cell In PlageDate
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If Cell.Value >= DateFrom And Cell.Value <= DateTo Then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TheTotal = TheTotal + Cell.Offset(0, 10)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If
&nbsp;&nbsp;&nbsp;Next

MsgBox "Total entre " & DateFrom & " et " & DateTo & " = " & TheTotal

End Sub


Bon Appétit
@+Thierry
 
J

JC de Lorient

Guest
Bonjour Patrick et Thierry

je me doutais bien que j'aurais eu une petite remarque concernant le 2ème post ! ( rires)

en tout cas merci pour votre aide
je vé voir si je peux m'en dépatouiller tout seul ( VBA et moi ! oups !!!)

pour le deuxième post une formule serait plus simple pour moi

Si monique passe par içi elle va me concocter un truc top comme elle sait faire !!!!!

merci mille fois

JC
 
J

JC de Lorient

Guest
re le forum

j'ai une feuille "Récap" qui collecte un tas d'info mensuelles de date, de tx et de montant soit une ligne = 1 mois

je souhaite faire ce calcul trimestriel sur commande ou mieux automatiquement :
quand par exemple je suis au mois d'avril qu'excel me calcule le cumul des montant de la colonne D, même chose en colonne G sur les 3 mois précédents soit un trimestre avril pour 01/02/03 juillet pour 04/05/06 et ça pour les 4 trimestres et qu'il m'affiche les résultats sur le feuille Calcul

j'espère :
avoir été assez clair et que ça puisse être faisable

merci a vous tous pour votre aide

JC
 

Discussions similaires

Réponses
3
Affichages
591

Statistiques des forums

Discussions
312 329
Messages
2 087 327
Membres
103 517
dernier inscrit
hbenaoun63