Bonjours je cherche une macro pour copier et coller des données
Résolu/Fermé
belfort-1
Messages postés
6
Date d'inscription
samedi 26 avril 2014
Statut
Membre
Dernière intervention
2 mai 2014
-
Modifié par belfort-1 le 27/04/2014 à 03:13
belfort-1 Messages postés 6 Date d'inscription samedi 26 avril 2014 Statut Membre Dernière intervention 2 mai 2014 - 2 mai 2014 à 15:02
belfort-1 Messages postés 6 Date d'inscription samedi 26 avril 2014 Statut Membre Dernière intervention 2 mai 2014 - 2 mai 2014 à 15:02
A voir également:
- Bonjours je cherche une macro pour copier et coller des données
- Copier coller pdf - Guide
- Copier une vidéo youtube - Guide
- Copier-coller - Accueil - Windows
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Historique copier-coller android - Guide
4 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 27/04/2014 à 07:54
Modifié par michel_m le 27/04/2014 à 07:54
Bonjour
Essaies cette macro
Valable si ligne colonne B vide (estvide(B16)) et non résultat "" d'une formule
Mais tu n'as pas précisé ce que l'on faisait si les 4 colonnes de destination n'étaient pas vides...
Michel
Essaies cette macro
Option Explicit
'----
Private Sub CommandButton1_Click()
Dim Nbre As Integer, Lig As Integer, Cptr as Integer
Dim Col As Byte
'initialisations
With Application
.ScreenUpdating = False
Nbre = .CountIf(Range("B16:B316"), "*")
End With
'recherche colonne vide sur ligne col B <>""
Lig = 15
For Cptr = 1 To Nbre
Lig = Columns("B").Find("*", Cells(Lig, "B"), xlValues).Row
For Col = 22 To 28 Step 2
If IsEmpty(Cells(Lig, Col)) Then
Cells(Lig, Col) = Cells(Lig, "B")
Exit For
End If
Next Col
Next Cptr
End Sub
Valable si ligne colonne B vide (estvide(B16)) et non résultat "" d'une formule
Mais tu n'as pas précisé ce que l'on faisait si les 4 colonnes de destination n'étaient pas vides...
Michel
belfort-1
Messages postés
6
Date d'inscription
samedi 26 avril 2014
Statut
Membre
Dernière intervention
2 mai 2014
30 avril 2014 à 13:01
30 avril 2014 à 13:01
Bonjour
Michel
Si tu penses que je me permet de m'amuser alors que tu me viens en aide.
c'est tout a fais le contraire. j'ai BCP de respect pour des citoyen comme toi qui mettent leur savoir faire au service des autres.
via le fichier exemple j'ai réussi a intégrer la macro. et fonctionne très bien. Mais qu'avec des valeur alphanumérique ou textuel. quand je met que des nombre elle ne marche pas car la colonne de copie et les colonne collées, se sont que des valeur numérique. Et a chaque action il y aura que 4 valeurs a copier dans (colonne b) qui devront être ensuite effacées puis recommencer .
qui veut dire a chaque action il y aura toujours 312 cellules vide dans colonne b et 4 cellule non vide a copier.
je te remercie encore une fois Michel car ton aide m'est très précieux.
Michel
Si tu penses que je me permet de m'amuser alors que tu me viens en aide.
c'est tout a fais le contraire. j'ai BCP de respect pour des citoyen comme toi qui mettent leur savoir faire au service des autres.
via le fichier exemple j'ai réussi a intégrer la macro. et fonctionne très bien. Mais qu'avec des valeur alphanumérique ou textuel. quand je met que des nombre elle ne marche pas car la colonne de copie et les colonne collées, se sont que des valeur numérique. Et a chaque action il y aura que 4 valeurs a copier dans (colonne b) qui devront être ensuite effacées puis recommencer .
qui veut dire a chaque action il y aura toujours 312 cellules vide dans colonne b et 4 cellule non vide a copier.
je te remercie encore une fois Michel car ton aide m'est très précieux.
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
30 avril 2014 à 16:12
30 avril 2014 à 16:12
dans la macro
remplacer
Nbre = .CountIf(.Range("B16:B316"), "*")
par
Nbre = .CountIf(.Range("B16:B316"), ">0")
si il y a des nombres négatifs mettre par ex
Nbre = .CountIf(.Range("B16:B316"), ">-9999")
remplacer
Nbre = .CountIf(.Range("B16:B316"), "*")
par
Nbre = .CountIf(.Range("B16:B316"), ">0")
si il y a des nombres négatifs mettre par ex
Nbre = .CountIf(.Range("B16:B316"), ">-9999")
belfort-1
Messages postés
6
Date d'inscription
samedi 26 avril 2014
Statut
Membre
Dernière intervention
2 mai 2014
1 mai 2014 à 17:35
1 mai 2014 à 17:35
Merci BCP Michel
Ta macro Marche très bien. Vraiment super
Je te remerci d'avoir compris des le départ ce que je voulais.
c'est moi étant débutant en VBA avais du mal a l'intregré dans mon tableau
J'ai même refais la même chose pour remplir les cases entre deux par des donnée
différentes.
Je suis vraiment satisfais
Un Grand salut a toute l'équipe comment ca marche et bonne continuation.
Ta macro Marche très bien. Vraiment super
Je te remerci d'avoir compris des le départ ce que je voulais.
c'est moi étant débutant en VBA avais du mal a l'intregré dans mon tableau
J'ai même refais la même chose pour remplir les cases entre deux par des donnée
différentes.
Je suis vraiment satisfais
Un Grand salut a toute l'équipe comment ca marche et bonne continuation.
belfort-1
Messages postés
6
Date d'inscription
samedi 26 avril 2014
Statut
Membre
Dernière intervention
2 mai 2014
2 mai 2014 à 15:02
2 mai 2014 à 15:02
bonjour
J'ai finalisé mon tableau
il me reste juste un petit détail a reglé
La colonne (b16:b316) de la feuil(VERIF-SCORE ) ou je dois faire la copie
est une colonne masqué.
(erreur dexécution'91':
variable objet ou objet variable de bloc with non definie)
Merci
et bonne jourée.
J'ai finalisé mon tableau
il me reste juste un petit détail a reglé
La colonne (b16:b316) de la feuil(VERIF-SCORE ) ou je dois faire la copie
est une colonne masqué.
(erreur dexécution'91':
variable objet ou objet variable de bloc with non definie)
Merci
et bonne jourée.
27 avril 2014 à 10:55
mais je me suis certainement mal expliqué
voila
j'ai donner un exemple sur b16 mais mais ca peut être n importe quel ligne dans la colonne b
de b16 a b316.
Si l'une des cellule dans la colonne b n'est pas vide; Récupère le résultat de la formule de b? et collé le dans la première colonne et sur la même ligne. et si la première colonne de destination n'est pas vide colle le résultat toujours dans la même ligne mais dans la deuxième
si de suite pour la troisième et la quatrième.
Nota:
dans la colonne b de b16 a b316 il y aura toujours 4 cellule non vide a copier en une seul action et a coller dans la même ligne de la colonne de destination.
Je te remercie pour ton aide Michel .
28 avril 2014 à 10:27
Je cherche bien que les cellules non vides dans B16 à B316 ce qui ,évite de boucler bêtement 310 fois ... :-(
Si l'une des cellule dans la colonne b n'est pas vide; Récupère le résultat de la formule de b? et collé le dans la première colonne et sur la même ligne. et si la première colonne de destination n'est pas vide colle le résultat toujours dans la même ligne mais dans la deuxième
si de suite pour la troisième et la quatrième.
C'est ce qui est fait !!! :- (
Ciao
29 avril 2014 à 10:59
je debute en VBA
La Macro me donne une erreur ne fonctionne pas
Peux tu le mettre dans un fichier excel comme exemple STP
Je comprendrais mieux son fonctionnement.
ca m'aiderais BCP. j'ai hate de le voir fonctionné et de le mettre dans mon projet
Cordialement
et un grand merci pour toute l' équipe comment ca marche .com
29 avril 2014 à 13:47
certainement pour t'amuser :-(( , tu me dis qu'il y a une erreur mais tu ne précises pas laquelle ni sur quelle ligne !!!!
décourageant...
La macro est identique à celle que j'avais proposé se trouve dans le module feuille1 de VBA car le bouton est un contrôle activeX
https://www.cjoint.com/?3DDnTxHi5sv