XL 2021 Coller "RdV Fait Facturé" de "J" ligne active jusqu'à "J" dernière ligne NON vide

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous :)

Encore et toujours besoin de nos ténors bienveillants...
Dans mon Usine à gaz, j'ai fait un code
VB:
'col J
    [MaCell].Select
    ActiveCell.Offset(0, 9) = "RdV Fait Facturé"
    ActiveCell.Offset(0, 9).Select: Selection.Copy
    Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(100, 0)).PasteSpecial Paste:=xlPasteValue, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

La ligne qui me pose soucis est la suivante :
le but est de copier
- Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(100, 0)).PasteSpecial Paste:=xlPasteValue, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Je suis en cellule active "A4090"
Je voudrais écrire :
ActiveCell.Offset(0, 9) = "RdV Fait Facturé"
Je voudrais écrire "RdV Fait Facturé" de la cellule "J4090 (ActiveCell.Offset(0, 9)" jusqu’à la dernière NON VIDE de la col "J"

Bon sang, je n'y arrive ps :mad:
Pourriez-vous m'aider ?
Si besoin, je ferai un fichier test.
Grand merci à toutes et à tous :)
Je continue mes élucubrations ... :)
 
Solution
dans ta syntaxe. activecell est toujours A4090
et rows.count.end(xldown).. comme ce n'est pas spécifié.. je pense qu'il prend par défaut à partir de la cellule active..
et tu finis par un .row... ==> en gros. tu mélanges les choux et les carrottes..

un essai pas testé..
set CelDeb = activecell.offset(0,9) ==> CelDeb est donc J4090
range(CelDeb,CelDeb.end(xldown)="Rdv Fait Facturé"

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
A partir de la cellule active "A4090" cellule active
avec ton code :
VB:
Set CelDeb = ActiveCell.Offset(0, 27)
    Range(CelDeb, CelDeb.End(xlDown)).FormulaR1C1 = "=IF(RC[-18]=""RdV Fait Facturé"",0,SUBSTITUTE(SUBSTITUTE(LEFT(RC[-17],10),"" "",""."",1),"" "",""."",1))"
        Set CelDeb = ActiveCell.Offset(0, 31)
    Range(CelDeb, CelDeb.End(xlDown)).FormulaR1C1 = "=IF(RC[-4]=0,"""",IF(R4C-RC[-4]>0,RC[-30]&"" - ""&RC[-31],""""))"
        Set CelDeb = ActiveCell.Offset(0, 58)
    Range(CelDeb, CelDeb.End(xlDown)).FormulaR1C1 = "=IF(RC[-27]<>"""",1,0)"
J'ai besoin de remplir avec des formules les colonnes
AB = ActiveCell.Offset(0, 27)
AF = ActiveCell.Offset(0, 31)
BG = ActiveCell.Offset(0, 58)
de la ligne de la cellule active "A4090" jusqu'à la dernière ligne de chaque colonne qui est dans mon fichier la ligne 4232.

Je redis que ton code fonctionne nickel sauf qu'il ne va pas jusqu'à la dernière ligne NON vide :)
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bjr vgendron :)
J'avais des insomnies (la chaleur - ici près de 50° aujourd'hui et nuit chaude malgré la clim).

J'ai tenté une bonne partie de la nuit de faire mon fichier test et je n'ai pas réussi.
Je garde ton travail génial qui fonctionne et je finirai bien par trouver pourquoi il ne veut pas aller jusqu'à la dernière ligne.

Pour l'instant, j'ai une solution quasi-aboutie en utilisant les déplacements dans Excel :

Vraiment Merci pour ton travail et tout le temps que tu m'as consacré.
:)
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

J'ai regardé ton code de #10, et du coup j'ai quelques questions (intégrées dans les commentaires de ton code) :
VB:
Sub FacturatioNvelle()
'
    [J3].Select
    ' Est-ce réellement utile ??? Le contenu de J3 (de quelle feuille ?) est-il utilisé dans la macro "RétabliMenu" ?

    RétabliMenu
    Sheets("Dr House_Raissa").Visible = True
    Sheets("Facture").Visible = True

    [AF4].FormulaR1C1 = "08/08/2023"
    ' Pourquoi "08/08/2023" ? Est-ce normal que ce soit une valeur fixe ?

    [AB4].FormulaR1C1 = "=COUNTA(R[4086]C[-27]:R[19996]C[-27])"
    ' Pourquoi 19996 ?

    ' Sélection des lignes vides à partir de la ligne 7, en utilisant .end(xldown)
    Range("A7:L" & Range("A65536").End(xlUp).Row).SpecialCells(xlCellTypeVisible).Select
    ' Es-tu sûr que ça sélectionne vraiment les lignes vides à partir de la ligne 7 ?

    ActiveCell.Name = "MaCell"  ' Nomme la cellule active
    ' Je crois qu'en fait ça nomme la premières cellule de la plage sélectionnée
    Selection.AutoFilter
    ' C'est censé faire quoi ??? Activer le filtrage ? Désactiver le filtrage ? Dans quel but ?

    [MaCell].Select

    ActiveWindow.ScrollRow = Selection.Row
    ' Est-ce vraiment utile ?

    ' Formules en col ab-ae-bg
    [MaCell].Select
    ' Est-ce vraiment utile de sélectionner la cellule active ?

    Set CelDeb = ActiveCell.Offset(0, 27)
    Range(CelDeb, CelDeb.End(xlDown)).FormulaR1C1 = "=IF(RC[-18]=""RdV Fait Facturé"",0,SUBSTITUTE(SUBSTITUTE(LEFT(RC[-17],10),"" "",""."",1),"" "",""."",1))"
    Set CelDeb = ActiveCell.Offset(0, 31)
    Range(CelDeb, CelDeb.End(xlDown)).FormulaR1C1 = "=IF(RC[-4]=0,"""",IF(R4C-RC[-4]>0,RC[-30]&"" - ""&RC[-31],""""))"
    Set CelDeb = ActiveCell.Offset(0, 58)
    Range(CelDeb, CelDeb.End(xlDown)).FormulaR1C1 = "=IF(RC[-27]<>"""",1,0)"
    ' Est-ce normal de ne pas recopier les différentes formules sur le même nombre potentiel de lignes ?

    ' Copie valeurs dans facture
    ActiveCell.Offset(0, 27).Resize(1, 32).Select
    Selection.Copy
    ' Les ".Select" et "Selection." sont-ils vraiment utiles ?
    Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(1000, 31)).PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

    Range(ActiveCell.Offset(-1, 0), ActiveCell.Offset(1000, 31)).Copy
    Sheets("Facture").Select
    ' Est-ce vraiment utile ?
    Range("C73").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    ' Les ".Select" et "Selection." sont-ils vraiment utiles ?

    Sheets("Appels").Select
    ' Est-ce vraiment utile ?
    ' col J
    [MaCell].Select
    Set CelDeb = ActiveCell.Offset(0, 9)
    Range(CelDeb, CelDeb.End(xlDown)) = "RdV Fait Facturé"

    Columns("AB:BG").ClearContents

    Application.CutCopyMode = False

    ActiveWindow.ScrollColumn = 6
    ' Est-ce vraiment utile ?

    Range("A1").Select

    ' Copie RdV facturé dans Dr_House Raissa + contrôle nbr total de lignes

End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 207
Messages
2 086 252
Membres
103 166
dernier inscrit
ZAHRAA