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 :

Recopier le contenu d'une cellule [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2008
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 132
    Points : 73
    Points
    73
    Par défaut Recopier le contenu d'une cellule
    Bonsoir,

    Je cherche la manip pour :

    Sur une feuille excel dans la colonne A:A j'ai toute une série de données qui sont séparées de temps à autre par un ligne vierge.

    Je souhaiterai
    --> identifier la cellule vierge
    --> Puis y insérer le contenu de ma cellule ("A1")

    J'ai pensé utiliser : For Each pour localiser ma cellule vide, ensuite récupérer le contenu de la cellule A1 , mais comment faire pour revenir à ma cellule vide pou y coller le contenu du presse papier !

    Merci d'avance
    Domino40

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Une première proposition à main levée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    dim plage as range, c as range
    set plage=range("A1:A" & cells(columns(1).cells.count,1).end(xlup).row)
    for each c in plage
    if trim(c.value)="" then c.value=range("A1").value
    next c
    set plage=nothing
    edit, une parenthèse oubliée

  3. #3
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    bonjour Domino40 l'ami mercatog le forum un autre exemple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    On Error Resume Next 'si pas de vide
    Range("A2" & ":A" & Range("a65536").End(xlUp).Row).SpecialCells(xlCellTypeBlanks) = [a1]

  4. #4
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut
    les 2 solutions proposées remplissent toutes les cellules vides trouvées
    cette solution remplit la premiere cellule vide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     Cells(Range("A1").SpecialCells(xlCellTypeBlanks).Row, 1) = Range("A1")

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2008
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 132
    Points : 73
    Points
    73
    Par défaut Récupérer les données de A1 mais aussi son format
    Bonsoir

    Est il possible que je puisse récupérer en plus de la valeur de "A1" son format (Police couleur etc..)

    Cordialement,
    Domino40

  6. #6
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    re,essai comme cela!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A1").Copy Destination:=Range("A" & [a1].End(xlDown).Row + 1)

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Août 2008
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 132
    Points : 73
    Points
    73
    Par défaut Récupération de la valeur et du format d'1 cellule
    Voici donc ma ligne de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c.Value = Range("A1").Copy Destination:=Range("A" & [a1].End(xlDown).Row + 1)
    Mais j'ai une erreur

    Destination est en inversion vidéo et Il me met l'erreur suivante :

    Attendu fin d'instruction

  8. #8
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    re,pourquoi tu mets c.Value =ect

    simplement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub essai()
    Range("A1").Copy Destination:=Range("A" & [a1].End(xlDown).Row + 1)
    End Sub
    ou encore si tu as plusieurs cellules vide dans ta plage une boucle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub essai()
    Dim i As Long
    For i = 2 To Range("A65535").End(xlUp).Row
    If Cells(i, 1) = "" Then Cells(1, 1).Copy Destination:=Cells(i, 1)
    Next i
    End Sub
    edit plus le temps de rester il faut que je partes a+

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Août 2008
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 132
    Points : 73
    Points
    73
    Par défaut recopier la ligne 1 ou un plage
    Super ça marche !

    Maintenant au lieu de copier la cellue A1 sur mes cellules vides trouvées , je voudrai copier toute la ligne de "A1" ou une plage "A1:F1"
    Est ce possible ?

    Cordialement,
    Domino 40

  10. #10
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    re,le principe reste le méme pour avoir le format & couleur

    de a1 a f

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub essai()
    Range("A1:f1").Copy Destination:=Range("A" & [a1].End(xlDown).Row + 1)
    End Sub
    toute la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub essai()
    Rows(1).Copy Destination:=Range("A" & [a1].End(xlDown).Row + 1)
    End Sub
    plusieurs lignes de a1 a f

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub essai()
    Dim i As Long
    For i = 2 To Range("A65535").End(xlUp).Row
    If Cells(i, 1) = "" Then Range(Cells(1, 1), Cells(1, 6)).Copy Destination:=Cells(i, 1)
    Next i
    End Sub
    toute la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub essai()
    Dim i As Long
    For i = 2 To Range("A65535").End(xlUp).Row
    If Cells(i, 1) = "" Then Rows(1).Copy Destination:=Cells(i, 1)
    Next i
    End Sub

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Août 2008
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 132
    Points : 73
    Points
    73
    Par défaut Remerciement
    Un grand MERCI à toi pour ton aide si précieuse.
    Tout fonctionne à merveille.

    Je reste toujours stupéfait des possibilités de Vba

    Excellente journée à toi et à tous ceux qui œuvrent sur ce forum.

    Très cordialement,
    Domino40

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 18
    Dernier message: 13/04/2006, 15h35
  2. [VBA-E]contenu d'une cellule gestion erreur macro
    Par matou_aouh dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/03/2006, 10h18
  3. [VBA]Copier le contenu d'une cellule d'un autre classeur
    Par dudu59 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 01/02/2006, 17h08
  4. Réponses: 3
    Dernier message: 27/01/2006, 18h35
  5. Importer le contenu d'une cellule Excel vers Access
    Par deaqu1 dans le forum Access
    Réponses: 7
    Dernier message: 05/11/2005, 15h26

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