Ajout de ligner VBA

bonjour,

je souhaiterai que vous m'aidiez sur un projet qui va faire partie de mon mémoire.

je fais une macro le but/

  • enlever le mot de passe
  • copie une plage de cellules
  • afficher un classeurs qui est cacher
  • coller la plage.
le problème est qu'il doit sauter de ligne si la ligner est déjà rempli que j'arrive pas à faire même en suivant les indications des ancien postes cela ne marche pas

Mon code :

ActiveWorkbook.Unprotect ("DOG")

Range("B4:M4").Select

Range("M4").Activate

Selection.Copy

Sheets("Saisie").Select

Sheets("Listing ").Visible = True

Range("B2").Select

Sheets("Listing ").Select

ActiveWindow.SelectedSheets.Visible = False

Range("C4:M4").Select

Range("M4").Activate

Application.CutCopyMode = False

Selection.ClearContents

Range("C5").Select

Sheets("Saisie").Select

ActiveWindow.SelectedSheets.Visible = False

ActiveWorkbook.Protect ("DOG"), Structure:=True, Windows:=False

Merci de votre aide

@ bientôt

LouReeD

OUI ??

Bonsoir,

Je pense qu'il faudrait un document anonymisé (si nécessaire) joint avec votre post.

Sinon, le code est plein de .select et .activate

Ce qui n'est pratiquement jamais nécessaire et alourdit inutilement le code.

Par exemple :

Range("B4:M4").Select

Range("M4").Activate

Selection.Copy

>

.range(cells(4,2),.cells(4,13)).copy

A plus tard !

Et il n'y a pas de "Paste"...

N'y de destination, ou bien je suis vraiment nul !

@ bientôt

LouReeD

Bonjour,

je l'ai fais avec la macro du coup j''ai du cliquer dans des cellules….mais merci pour l'info en tout cas

mais mon problème et que j'arrive pas à lui faire faire de coller la plage sur un autre tableau ET de lui faire sauter les lignes si c'est déjà rempli jusqu'à qu'il trouver une ligne vide et de coller

Bonsoir,

Je pense qu'il faudrait un document anonymisé (si nécessaire) joint avec votre post.

Pour coller dans un autre tableau (tableau ou feuille ?) il suffit de lui indiquer la destination.

Du genre :

s'il doit coller à la suite de quelque chose déjà renseigné on détermine la dernière ligne utilisée :

Dim lr as integer, dt as range
lr =  feuil2.cells(feuil2.rows.count,1).End(xlUp).Row

On définit la plage à copier

Set dt = feuil1.cells(4, 2).resize(lr)

Puis on colle dans une autre feuille

dt.copy Destination:=feuil2.cells(lr,1)

C'est fait au hasard vue qu'il n'y a pas de document associé.

Bonne soirée !

Bonjour has1997 !

Le Drosophile bonjour,

Je n'ai que quelques instants à consacré à Excel lors de mes passages ici, et du coup, peut-être que, has1997, vous pouvez parlez de votre projet à Le Drosophile.

Pas de soucis pour moi de donner le relais, plutôt que de vous faire attendre !

Je n'ai pas assez de temps en continu pour me lancer dans celui-ci. Désolé

@ bientôt

LouReeD

Merci beaucoup en tout ça

Rechercher des sujets similaires à "ajout ligner vba"