XL 2021 Recopie celle date et 3cellules consécutives avec des nombres

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Bruce68

XLDnaute Impliqué
Bonsoir à tous
concaner cell

Macro avec erreur : Range(Cells(I, 1)&(Cells(I, 5)),(Cells(I, 7)).select
I = ligne5 1= première col & I = ligne5 5= cinquième col , I = ligne5 7 septième col
Je ne trouve pas l'erreur.
Je sollicite votre aide.
Je vous remercie
 
Bonjour Bruce,
Et si vous nous disiez ce que vous voulez obtenir.
Dans l'état, cela donne :
VB:
Range(Range("A5")&Range("E5"),Range("G5")).select
Pas très orthodoxe comme syntaxe.
Quelle plage voulez vous sélectionner ?

Si vous voulez mettre la date en A5,E5,G5 ( comme le suggère le titre du fil, alors essayez :
VB:
Application.Union(Cells(I, 1), Cells(I, 5), Cells(I, 7)) = Date
Si vous voulez mettre la date en A5 à G5, sauf F5, essayez :
Code:
Application.Union(Range(Cells(I, 1), Cells(I, 5)), Cells(I, 7)) = Date
Cela évite aussi le "select", qui est souvent inutile, en mettant directement la valeur dans les cellules.
 
Dernière édition:
Bonsoir Sylvanu
Merci pour cette réponse, j'aimerais quelques explications sur ce range: Range(Cells(i, "V"), Cells(i, "Y"))

Range(Cells(i, "V"), Cells(i, "Y")) = Application.Union(Range(Cells(i,
1), Cells(i, 5)), Cells(i, 7)).Value


clip_image001.png
(Cells(i, 1)= col date

clip_image002.png
Cells(i, 5)), Cells(i, 7)) col F G H (chiffres)
La macro fonctionne mais ne recopie pas de valeur.

Merci pour toute votre aide



 
Bonsoir,
Quand on a de grand tableau à traiter, le plus rapide est de passer par des arrays, beaucoup plus véloces.
En PJ un essai, si j'ai bien compris.
La macro est dans la feuille Extraction et s'exécute lorsqu'on sélectionne la feuille Extraction.
( par contre je n'ai pas compris la signification des coefficients a et b. A quoi servent ils ? )
 

Pièces jointes

Bonjour,
Vous voulez récupérer :
1- Que les lignes dont il y a 9 valeurs en ligne
2- Mettre dans chaque 3 colonnes date et données si les données sont non vides ?
En hypothèse 2 les dates sur une même lignes seraient différentes. Mais cela expliquerait pourquoi il y a trois dates.

PS Ne pas oublier que le contributeur ne connaît rien à votre fichier, et le but recherché. C'est pourquoi il ne faut pas hésiter à donner le maximum de précisions. ☺
 
Bonjour Bruce68, sylvanu,

Je pense qu'ici le mot "concaténer" n'est pas adapté, voyez le fichier joint et cette macro :
VB:
Sub Extraction()
Application.ScreenUpdating = False
[A:L].Copy [R1]
[A:A].Copy [V1]
[A:A].Copy [Z1]
End Sub
Avec le fichier du post #6 ce n'est guère plus compliqué, la copie se fera simplement vers une autre feuille.

A+
 

Pièces jointes

Dernière édition:
Voyez le fichier joint et cette macro dans le code de la feuille "Extraction" :
VB:
Private Sub WorkSheet_Activate()
Dim P As Variant
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual 'évite le recalcul des moyennes
With Sheets("Donnees")
    [B5:E413] = .[A5:D413].Value
    [G5:G413] = .[A5:A413].Value: [H5:J413] = .[F5:H413].Value
    [L5:L413] = .[A5:A413].Value: [M5:O413] = .[J5:L413].Value
End With
For Each P In Array([A5:E413], [F5:J413], [K5:O413])
    P.Columns(1) = "=1/(RC[2]+RC[3]+RC[4]>0)"
    P.Columns(1) = P.Columns(1).Value 'supprime les formules
    P.Sort P.Columns(1), xlAscending, Header:=xlNo 'tri pour regrouper et accélérer
    On Error Resume Next 'si aucune SpecialCell
    Intersect(P.Columns(1).SpecialCells(xlCellTypeConstants, 16).EntireRow, P).ClearContents 'efface les valeurs d'erreur
    P.Columns(1).ClearContents
Next
Application.Calculation = xlCalculationAutomatic
End Sub
Elle se déclenche quand on active la feuille.

La méthode utilisée est classique et rapide grâce aux tris.
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
206
Retour