Besoin d'aide macros Excel

  • Initiateur de la discussion Initiateur de la discussion renren
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

renren

XLDnaute Nouveau
Bonjour, étant débutant en VBA, j’ai une idée de ce que j’aimerais faire mais je n’arrive pas à le transcrire.
En fait, j’aimerais réaliser deux macros :
Pur la première j’aimerais qu’elle fasse ceci
Il y a deux feuilles dans mon classeur :

Sur la feuille 1,
Sur chaque ligne du tableau, de la ligne 2 à la fin de la feuille :
Si la valeur dans la cellule D est différente de 0, alors copier la valeur de la cellule A et celle de la cellule D.
Sur la feuille 2 :
A chaque fois que la condition est respectée :
Coller ces valeurs sur une ligne (par collage spécial) en cellule B et C.
Mettre la date du jour en A (et qu’elle ne varie pas ds le tps)
Retour sur la feuille1 :
Faire sur chaque ligne C = C+D.


Pour la deuxième j’aimerais faire la chose suivante :
J’aimerais que la valeur d’une cellule (D15) vienne s’automatiquement s’incrémenter dans la première case vide de la mme colonne(D2) puis D3 puis D4…. Comment faire ??


Est-ce que quelqu’un peut me donner un coup de main ?
Merci d’avance !
 
Re : Besoin d'aide macros Excel

Bonsoir et bienvenue sur le forum


As-tu un fichier exemple sous le coude à nous fournir ?

(Qu'on n'ait pas à le créer nous-même ! )

Sur la feuille 1,
Sur chaque ligne du tableau, de la ligne 2 à la fin de la feuille :
Si la valeur dans la cellule D est différente de 0, alors copier la valeur de la cellule A et celle de la cellule D.

Les copier vers ou ?

En attendant de mieux comprendre ton problème, voici avec ce que j'ai compris.
Code:
Sub recopier()
Const COLA$ = "A:A" [COLOR="Green"]'ici on définit la colonne[/COLOR]
Dim c As Range, sd As Worksheet
Set sd = Sheets(2) [COLOR="Green"]'feuille destination[/COLOR]
For Each c In Sheets(1).Columns(COLA).SpecialCells(xlCellTypeConstants, 1)
[COLOR="Green"]'les cellules B et C de la feuille 2 prennent la valeur[/COLOR]
    With sd.Cells(65536, "B").End(xlUp).Offset(1, 0) 
        .Value = c [COLOR="Green"]' des  cellules (colonne A, feuille 1) contenant des nombres[/COLOR]
        .Offset(0, 1) = c.Offset(, 3)[COLOR="Green"] ' des cellules (colonne D)[/COLOR]
        .Offset(0, -1) = Date [COLOR="Green"]'inscrit la date en colonne A[/COLOR]
    End With
Next
End Sub
 
Dernière édition:
Re : Besoin d'aide macros Excel

Bonsoir


Macro1

Code:
Sub macro1()
Dim s As Worksheet, a, c As Range, plage As Range
Set s = Feuil2
Set plage = Range("E4:E6").SpecialCells(xlCellTypeFormulas, 23)
For Each c In plage
If c.Value > 0 Then
s.Cells(65536, 1).End(xlUp).Offset(1) = Date
Union(Cells(c.Row, 1), Cells(c.Row, 4), Cells(c.Row, 5)).Copy s.Cells(65536, 2).End(xlUp).Offset(1)
End If
Next
End Sub
 
Re : Besoin d'aide macros Excel

Bonsoir



Code:
Sub macro2()
CL = CLng(InputBox("Choisir la colonne concernée, svp" & Chr(13) & _
" (Saisir le chiffre de la colonne)."))
valeur = Cells(26, CL)
FL = Cells(25, CL).End(xlUp).Row + 1
Cells(FL, CL) = valeur
End Sub

EDITION: je t'ai mis deux versions pour la macro 2
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Réponses
7
Affichages
187
Réponses
12
Affichages
214
  • Résolu(e)
Microsoft 365 DATEDIF
Réponses
11
Affichages
185
Retour