IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

CopierColler quand cellule vide


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Architecte matériel
    Inscrit en
    Juin 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Brésil

    Informations professionnelles :
    Activité : Architecte matériel
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2012
    Messages : 14
    Par défaut CopierColler quand cellule vide
    Bonjour tout le monde,

    Je bloque un petit peu sur une macro, je voudrais coller les cellules sélectionnées que si les cellules de destination sont vides. J'ai essayé plusieurs façons mais aucune pour le moment ne répond à mes attentes. Voilà la dernière version de ma macro que j'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub CommandButton1_Click()
     
    Dim i As Integer
        i = 1
     
       Range("C1:C7").Select
       Selection.Copy
       If Not IsEmpty(Cells(i, 1)) Then
               Do While Cells(i, 1).Value <> ""
                i = i + 1
                Loop
        ElseIf IsEmpty(Cells(i, i)) Then
       ActiveSheet.Paste
       Application.CutCopyMode = False
     
    End If
    End Sub
    Merci d'avance pour me donner des pistes pour résoudre mon problème !

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    voici comment copier dans la feuille active la plage C1:C7 après la dernière cellule saisie de la première colonne :

    [C1:C7].Copy Columns(1).Find("*", , , , , xlPrevious)(2)



    _______________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …


  3. #3
    Membre averti
    Profil pro
    Architecte matériel
    Inscrit en
    Juin 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Brésil

    Informations professionnelles :
    Activité : Architecte matériel
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2012
    Messages : 14
    Par défaut
    Alors j'ai essayé d'utiliser votre code mais par contre je voulais le faire démarrer dans une case précise mais j'ai un bug.

    De plus, je voulais faire évoluer mon code par la suite en faisant un "copier" d'un autre fichier excel que je collerai dans le fichier en cours d'utilisation. Donc je pense qu'en utilisant cette formule je vais avoir des soucis. Merci pour votre réponse.

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Citation Envoyé par GagnetYvon Voir le message
    […] mais j'ai un bug.
    Oui comme dans le code précédent qui en est truffé !

    Mais sans poster votre code ni plus de précision, vous ne risquez pas d'obtenir une réponse …

    Bref, voici une démonstration de recopie de la plage [C1:C7] à partir de la cellule A10 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Demo()
        Set Cel = Columns(1).Find("*", , , , , xlPrevious)
        If Cel Is Nothing Then Set Cel = [A9] Else If Cel.Row < 9 Then Set Cel = [A9]
        If Cel.Row < Rows.Count Then [C1:C7].Copy Cel(2) Else Beep
        Set Cel = Nothing
    End Sub

    _______________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …


    ____________________________________
    A quoi bon tuer des baleines si c'est pour maquiller des thons ‼

Discussions similaires

  1. [XL-2010] SOMMEPROD quand cellule vide.
    Par GuillaumeNcy dans le forum Excel
    Réponses: 10
    Dernier message: 15/01/2015, 15h34
  2. sauter un chapitre de code quand une cellule vide
    Par mimic44 dans le forum Access
    Réponses: 7
    Dernier message: 09/01/2007, 09h09
  3. Excel - Cellule vide en effectuant la somme
    Par spopo dans le forum Excel
    Réponses: 14
    Dernier message: 31/08/2005, 16h05
  4. Problemes avec des cellules vides
    Par arsgunner dans le forum ASP
    Réponses: 7
    Dernier message: 14/06/2004, 08h42
  5. [XSL-FO] Table avec cellule vide
    Par JustAGphy dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 12/05/2004, 14h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo