Détecter la fin du tableau (copier coller)

Blitz

XLDnaute Nouveau
Bonjour,

J'ai un fichier qui fait des copier coller vers la dernière cellule vide d'un autre classeur.
Les cellules sectionner vont de A2 à O30, mais cela me créer trop de ligne vide, c'est pourquoi j'aurais voulu qu'il détecte la fin du tableau.

Code:
Private Sub bring()

Application.ScreenUpdating = False
Rep = "X:\AJ\Dossier de suivi\"
FichS = ActiveWorkbook.Name
FichD = "Visio+.xls"
Workbooks.Open Rep & FichD

With Workbooks(FichS)
Fichier = .Sheets("Récapitulatif").Cells(1, 1).Value
    If Dir(Rep & Fichier & ".xls") <> "" Then 'vérifie si la sauvegarde n'a pas déjà été effectuée
    MsgBox "La sauvegarde a déjà été effectuée"
    Exit Sub
    End If
        .Sheets("Récapitulatif").Range("A2:O30").Copy
        Workbooks(FichD).Sheets("BD").Range("B65536").End(xlUp).Offset(1, 0).PasteSpecial (xlPasteValues)
        Workbooks(FichD).Save
        Workbooks(FichD).Close
        MsgBox "Base de données alimenté"
        .Close
        
End With
Application.ScreenUpdating = True
            
End Sub

Voici le code en question

L'idéal serait que la selection ne se fasse pas de A2 à O(numéro de la dernière cellule non vide de la colonne F)

Merci de votre aide en tout cas
 

CelluleVide

XLDnaute Occasionnel
Re : Détecter la fin du tableau (copier coller)

Bonjour Blitz, tout le monde,

Au lieu de:
.Sheets("Récapitulatif").Range("A2:O30").Copy

Mettre:
dim DerLign as integer
DerLign = Range("F65536").End(xlUp).row
.Sheets("Récapitulatif").Range("A2" , "O" & DerLign).Copy

A+
 

oufkiryo

XLDnaute Nouveau
Re : Détecter la fin du tableau (copier coller)

bonjour

j'ai besoin de ton aide stp.
j'ai un problème de detection de la derniere cellule vide d'une colonne j'ai vu que ta traiter un probleme pareil, j'ai utiliser le code que ta recommander mais sa marche pas pour moi ca donne pas le resultat volu.

merci
 

Blitz

XLDnaute Nouveau
Re : Détecter la fin du tableau (copier coller)

Je ne comprend pas trop pourquoi, mais je ne récupère que la première ligne, comment y remédier ?
Je ne voie pas pourquoi d'ailleurs


Private Sub bring()

Application.ScreenUpdating = False
Rep = "X:\AJ\Dossier de suivi\"
FichS = ActiveWorkbook.Name
FichD = "Visio+.xls"
Workbooks.Open Rep & FichD

With Workbooks(FichS)
Fichier = .Sheets("Récapitulatif").Cells(1, 1).Value
If Dir(Rep & Fichier & ".xls") <> "" Then 'vérifie si la sauvegarde n'a pas déjà été effectuée
MsgBox "La sauvegarde a déjà été effectuée"
Exit Sub
End If
Dim DerLign As Integer
DerLign = Range("F65536").End(xlUp).Row
.Sheets("Récapitulatif").Range("A2", "O" & DerLign).Copy
Workbooks(FichD).Sheets("BD").Range("B65536").End(xlUp).Offset(1, 0).PasteSpecial (xlPasteValues)
Workbooks(FichD).Save
Workbooks(FichD).Close
MsgBox "Base de données alimenté"
.Close

End With
Application.ScreenUpdating = True

End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 379
Messages
2 087 762
Membres
103 661
dernier inscrit
fcleves