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 !

Cqgkcqs

XLDnaute Nouveau
Bonjour à tous,

Je viens à vous pour un problème de VBA. Je travaille actuellement sur ma première VBA mais je bloque à un moment.
Dans le fichier joint "Données", vous pouvez-voir une liste de personnes et mon but est de créer de manière automatique l'insertion d'une nouvelle personne.
J'ai donc créer une VBA pour insérer une nouvelle ligne à la suite, mais si je souhaite ajouter une seconde ligne, cela me remet automatiquement sur la première ligne, ce qui est logique.

Comment faire pour descendre d'une ligne à chaque fois que je relance ma VBA ?

Je vous ai joint le fichier "Données1" qui est le travail que j'ai effectué durant 3 longues heures... Ce qui risque d'en faire sourire plus d'un !

Merci d'avance,

Fabien.
 

Pièces jointes

Re : Vba

Merci de votre aide !

A présent, ma première VBA me fait descendre d'une ligne, mais la seconde, dans laquelle je remplis toutes les cases de la ligne, reste sur la première. Normal puisque j'ai des codes comme celui là : Range("B101").Value = Me.TextBox1.Text

Comment renouveler l'opération dans ce type de code ?

Merci d'avance !
 
Re : Vba

Merci !

J'ai un VBA qui ajoute juste un numéro en colonne A et un VBA qui me permet de compléter le reste de la ligne.

Pour ajouter le numéro, j'ai ce codage :

Sub Macro1()
Dim c As Range
Set c = Sheets("base").Cells(Rows.Count, 1).End(xlUp)
c.Offset(1, 0) = c + 1
End Sub

Comment dois-je l'insérer dans mon second VBA, UserForm1 afin de regrouper les 2 actions en 1 ?
J'ai essayé en ajoutant Private Sub Macro1() ou Private Sub UserForm_Activate () mais cela ne fonctionne pas.
 

Pièces jointes

Re : Vba

Bonjour,
Je vois que vous êtes très forts en VBA.
J'ai posé cette question ce matin, et personne ne me répond.
Voila la question:
Je cherche une façon d'additionner la même cellule de plusieurs fichiers, ouverts ou pas.
Pour être précis, la TVA de plusieurs factures, qui se trouvent chacune dans un fichier différent.
La TVA se trouve toujours dans la même cellule.
Merci pour votre aide.
Cordialement
 
Re : Vba

Bonjour le fil,

@ elie32550,

Si tu veux des réponses, mieux vaut poster un nouveau sujet, faire une demande explicite, joindre un fichier exemple, etc etc etc ...
Egalement lire Lien supprimé

Tu auras alors des réponses.
Pas en s'insinuant dans un sujet...
 
Re : Vba

Du coup je me permets de relancer mon dernier message 🙂

Merci !

J'ai un VBA qui ajoute juste un numéro en colonne A et un VBA qui me permet de compléter le reste de la ligne.

Pour ajouter le numéro, j'ai ce codage :

Sub Macro1()
Dim c As Range
Set c = Sheets("base").Cells(Rows.Count, 1).End(xlUp)
c.Offset(1, 0) = c + 1
End Sub

Comment dois-je l'insérer dans mon second VBA, UserForm1 afin de regrouper les 2 actions en 1 ?
J'ai essayé en ajoutant Private Sub Macro1() ou Private Sub UserForm_Activate () mais cela ne fonctionne pas.
 

Pièces jointes

Re : Vba

Bonjour, dans un premier temps, le plus simple est de nous informer du résultat souhaité dans sa globalité et dans un second temps, on vous expliquera comment/quoi faire. Vous avez un userform ? A quoi sert-il ? Le bouton "ok" dessus à quoi sert-il ?
 
Re : Vba

Bonjour,
Merci à toi Cqgkcqs.
A force de chercher dans le différents fichiers proposés dans le Forum, j'en ai bidouillé un, qui marche.
J'ai réussi à faire ce que je voulais.
Ce n'est pas moi qui l'ai crée, je n'ai fais que le modifier.
Merci à la personne qui l'a développé (qui le reconnaîtra sans doute).

Voici l'exemple :

Option Explicit
Option Base 1
Sub ChercheFichiersFermesV01()
Dim X As Integer, NbFichiers As Integer, Y As Integer
Dim Tableau() As String
Dim Direction As String
Dim Valeur As Double

Application.ScreenUpdating = False
Direction = Dir(ThisWorkbook.Path & "\*.xls")
Do While Len(Direction) > 0 'liste tous les classeurs du repertoire
NbFichiers = NbFichiers + 1
ReDim Preserve Tableau(1 To NbFichiers)
Tableau(NbFichiers) = Direction
Direction = Dir()
Loop

If NbFichiers > 0 Then
For X = 1 To NbFichiers 'boucles sur les classeurs

' pour ne pas prendre en compte le classeur contenant la macro (synthese)
If Tableau(X) <> ThisWorkbook.Name Then

For Y = 1 To 3 'boucle sur les produits à récupérer
'recupere la valeur deja existante dans le tableau de synthese
Valeur = ActiveSheet.Cells(Y + 4, 2)

With ActiveSheet.Cells(Y + 4, 2) 'ajout des nouvelles valeurs
.Formula = "='" & ThisWorkbook.Path & "\[" & Tableau(X) & "]" & "Feuil1" & "'!" _
& Cells(Y + 57, 6).Address
.Value = .Value + Valeur
End With

Next Y

End If
Next X
End If

Application.ScreenUpdating = True
End Sub

Merci encore.
Cordialement.
Elie
 

Pièces jointes

- 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

Réponses
5
Affichages
177
Réponses
32
Affichages
990
Réponses
17
Affichages
418
Réponses
2
Affichages
83
Réponses
5
Affichages
274
Retour