Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Incrémenter une base sans écraser les données précédentes...

  • Initiateur de la discussion Initiateur de la discussion Lololala
  • 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 !

L

Lololala

Guest
Bonjour le forum;

Voila je suis coincé sur un probléme qui me tue à petit feu...(j'en rajoute un peu)
Je voudrais incrémenter ma base sans scratcher les données passées...
Soit dans le concept c'est rechercher une ligne vide et claquer les données récupérées dans l'autre feuille...
Mais je bloque sur le code VB
Une ame charitable pourait elle m'aider...
 
Re : Incrémenter une base sans écraser les données précédentes...

Re Lololola, le Forum

Voici un petit bout de code à mettre dans ThisWorBook pour repèrer la dernière ligne

Private Sub Workbook_Open()
Dim Derligne As Long
'Repère le n° de première ligne vide de la feuille courante
Derligne = ActiveSheet.Range("$B$65536").End(xlUp).Offset(1, 0).Row
.....

End sub
 
Re : Incrémenter une base sans écraser les données précédentes...

Merci de l'info est ce que je le positionne comme cela ???
Par contre j'ai l'impression que selectionne pas la feuille en question avec ta méthode...

Wend

Private Sub Workbook_Open()
Dim Derligne As Long
'Repère le n° de première ligne vide de la feuille courante
Derligne = ActiveSheet.Range("$B$65536").End(xlUp).Offset(1, 0).Row


f2 = 2
While Worksheets("Feuil2").Range("A" & f2).Value <> ""
Worksheets("Feuil2").Range("A" & f2).Value = ""
Worksheets("Feuil2").Range("B" & f2).Value = ""
Worksheets("Feuil2").Range("C" & f2).Value = ""
Worksheets("Feuil2").Range("d" & f2).Value = ""

f2 = f2 + 1

Wend



f1 = 2
f2 = 2
'boucle balayant fEUIL1 tant qu'il reste des valeurs
While Worksheets("fEUIL1").Range("A" & f1).Value <> ""



If Worksheets("FEUIL1").Range("A" & f1).Value <> "" Then
Worksheets("Feuil2").Range("A" & f2).Value = CStr(Worksheets("FEUIL1").Range("A" & f1).Value)
Worksheets("Feuil2").Range("B" & f2).Value = CStr(Worksheets("FEUIL1").Range("B" & f1).Value)
Worksheets("Feuil2").Range("C" & f2).Value = CStr(Worksheets("FEUIL1").Range("C" & f1).Value)
Worksheets("Feuil2").Range("D" & f2).Value = CStr(Worksheets("FEUIL1").Range("D" & f1).Value)
f2 = f2 + 1
End If

f1 = f1 + 1


Wend
 
Re : Incrémenter une base sans écraser les données précédentes...

Désolé Lololala

Mais je ne comprends pas ton souhait ou plutot F2=2 .... F1=2 ... ????

Le code te permet de trouver la 1ère ligne vide dans la feuille où tu souhaites coller tes données,

Imagine que tu as ta sélection faite, tu trouves la 1ère ligne libre et tu colles.

Remplace ("$B$65536 par ("$A$65536 comme cela tu la cellule active sera en colonne A
 
Re : Incrémenter une base sans écraser les données précédentes...

Bonsoir,

Autre code (si j'ai compris).
Code:
Dim Derli1 As Integer, Derli2 As Integer, Li As Integer, Col As Byte
Private Sub Workbook_Open()
  Derli1 = Range("A65536").End(xlUp).Row 'dernière ligne non vide de la feuille active
  With Sheets("Feuil2")
    Derli2 = .Range("A65536").End(xlUp).Row 'ligne après la dernière ligne non vide de Feuil2
    For Li = 2 To Derli1
      For Col = 1 To 4
        .Cells(Li - 1 + Derli2, Col) = CStr(Cells(Li, Col))
      Next
    Next
  End With
End Sub
 

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
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…