XL 2013 Vba

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

  • Données - VBA.xlsx
    25.1 KB · Affichages: 51
  • Données1 - VBA.xlsm
    36.4 KB · Affichages: 57
  • Données1 - VBA.xlsm
    36.4 KB · Affichages: 55

Cqgkcqs

XLDnaute Nouveau
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 !
 

Cqgkcqs

XLDnaute Nouveau
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

  • Données1 - VBA.xlsm
    39.7 KB · Affichages: 39
  • Données1 - VBA.xlsm
    39.7 KB · Affichages: 36

elie32550

XLDnaute Nouveau
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
 

Calvus

XLDnaute Barbatruc
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...
 

Cqgkcqs

XLDnaute Nouveau
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

  • Données1 - VBA.xlsm
    40.3 KB · Affichages: 55
  • Données1 - VBA.xlsm
    40.3 KB · Affichages: 64

CPk

XLDnaute Impliqué
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 ?
 

elie32550

XLDnaute Nouveau
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

  • Synthese.xls
    45.5 KB · Affichages: 36
  • Synthese.xls
    45.5 KB · Affichages: 40

Discussions similaires

Réponses
9
Affichages
477
Réponses
10
Affichages
479

Membres actuellement en ligne

Statistiques des forums

Discussions
312 611
Messages
2 090 226
Membres
104 453
dernier inscrit
benjiii88