variable et suppression ou ajout ligne

  • Initiateur de la discussion Initiateur de la discussion Aladin
  • Date de début Date de début

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 !

Aladin

XLDnaute Occasionnel
Bonjour
J' ai commencé une macro et je seche, cette macro doit compter le nbre de ligne à importer et le mettre dans une variable, compter le nbre de ligne entre une plage sur la feuille résultat et faire la différence pour soit supprimer des lignes en trop ou ajouter les lignes suivant l' import. je l' ai comence et je ne sais plus qoui faire
Sub Test_3()

Dim a As String ' variable récuperantle résultat du nbre lignes à importé
Dim b As String ' variable récupérant le résultat du nbre lignes feuilles resultat
Dim x As String
Dim y As String


Dim plage_1 As Range 'feuille Import
Dim plage_2 As Range


Set plage_1 = Worksheets("Import").Range("A2:A65536")
a = Application.WorksheetFunction.CountA(plage_1)
'MsgBox Application.WorksheetFunction.CountA(plage_1)

Set plage_2 = Worksheets("resultat").Range("A29:A118")
b = Application.WorksheetFunction.CountA(plage_2)
'MsgBox Application.WorksheetFunction.CountA(plage_2)

End Sub
Toute aide sera la bienvenue, merci d' avance
Aladin
 
Re : variable et suppression ou ajout ligne

bonjour, pas sûr d'avoir tout compris, mais si tu copies tes données de la feuille ("Import") et que tu les colles dans la feuille("resultat"), en ayant soin d'effacer les valeurs déjà présentes dans cette feuille, tu auras les mêmes données,non?
Sinon, post un fichier exemple, avec ce que tu veux réellement
 
Re : variable et suppression ou ajout ligne

Bonjour Aladin

pas sur d'avoir tout compris, tu utilises la fonction "CountA" qui renvoie un nombre de valeurs d'une plage...

il me semble que tu cherches plutôt un nombre de lignes. Regarde peut être le code ci dessous :

Code:
Dim as Integer
x = Range("A2:A" & Range("A65536").End(xlUp).Row).Rows.Count

sinon essaye de préciser ta demande, avec un fichier ce serait mieux.

bon après midi
@+
 
Re : variable et suppression ou ajout ligne

Salut,

Peut etre que Pierrot sera plus inspiré que moi, mais je ne saisie pas trop ce que tu entends par :
3 Supprimer oui ajouter des lignes suivant resultats du nombre de ligne a importer
4 le but c'est de réduire iu agrandir la plage en fonction de l'import afin d'avoir un tableau propre

Pour la 1 et la 2, les codes de Pierrot un peu modifier fonctionne (un exemple parmis d'autres) :
1 : nb_ligne=Range("A30:A" & Range("A29").End(xlDown).Row).Rows.Count
2 :
With Sheets("Import")
nb_ligne2 = .Range("A2:A" & .Range("A65536").End(xlUp).Row).Rows.Count
End With

@+
 
Re : variable et suppression ou ajout ligne

Bonjour Pierrot et Romain et le forum
Pierrot oui je garde tout car les données doivent être dans cette plage.
Romain ce que je veux expliquer c' est qu' apres le résultat du nbre de lignes à importer, qu' il y ai un calcul entre le nbre de ligne dans le range de la feuille resultat et le nbre de ligne de la feuille import et ensuite l' ajout ou la suppression de ligne se fera avant l' importation
Aladin
 
Re : variable et suppression ou ajout ligne

Re, bonjour Romain

essaye le code ci dessous :

Code:
Option Explicit
Sub Test()
Dim x As Integer, z As Integer
x = Sheets("Import").Range("A2:F" & Sheets("Import").Range("A65536").End(xlUp).Row).Rows.Count
z = Sheets("Resultat").Range("A30:F" & Sheets("Resultat").Range("A65536").End(xlUp).Row - 1).Rows.Count
If x > z Then
    Sheets("Resultat").Rows("30:" & 30 + (x - z)).Insert
Else
    Sheets("Resultat").Rows("30:" & 30 + (z - x)).Delete
End If
Sheets("Import").Range("A2:F" & Sheets("Import").Range("A65536").End(xlUp).Row).Copy _
    Sheets("Resultat").Range("A30")
End Sub

@+
 
Re : variable et suppression ou ajout ligne

Bonsoir Pieerot et le forum
La macro fonctionne au niveau de l' imort mais si je supprime des lignes sur la feuille imort la suppression ne se fait pas sur la feuille Resultat, par contre l' ajout de ligne se fait normalement
Aladin
 
Re : variable et suppression ou ajout ligne

Re

comprends plus trop... si tu supprimes des lignes au niveau de la feuille "import", elles ne seront pas prises en compte lors de l'importation...

Mais sinon, la macro ne fonctionne que dans un sens, de feuille import vers résultat, si tu veux le contraire recopies la macro, en modifiant les noms des feuilles et cellules en rapport.

bonne soirée
 
Dernière édition:
Re : variable et suppression ou ajout ligne

Bonjour Pierrot et le forum
Peut eure que je me suis mal exprrimé, mais la suppression et l' ajout de lignes se fait bien sur la feuille résultat suivant le nbre de lignes à importer. Peut on se baser sur les lignes de titres colonne A feuille resultat qui constitue une plage. Prendre les titres en références.
Aladin
 
Re : variable et suppression ou ajout ligne

Bonjour Aladin,

Je reprend ta demande dans ton fichier :

1 Compter les lignes dans cette plage
2 Compter le nbre de données sur la feuille import
3 Supprimer ou ajouter des lignes suivant resultats du nbre de ligne à mporter
4 le but c' est de réduire ou agrandir la plage en fonction de l' import afin d' avoir un tableau propre

avec cette maco, nous arrivons au but, "réduire ou agrandir la plage" de la feuille "Resultat" pour pouvoir importer le contenu de la feuille "import" qui vient en remplacement des données existantes sur la feuille "Resultat".

que veux tu faire exactement en plus ?

@+
 
Re : variable et suppression ou ajout ligne

Bonsoir Pierrot
Sur la feuille Resultat en céllule A30 tu as un titre et a118 un autre titre. je voudrais que la suppression ou l' ajout de lignes se fasse entre ces deux titres (les passer en parametres
Merci Pierrot de t' occuper de mon pb
Aladin
 
Re : variable et suppression ou ajout ligne

Re

essaye avec le code ci dessous :

Code:
Option Explicit
Sub Test()
Dim x As Integer, z As Integer
x = Sheets("Import").Range("A2:F" & Sheets("Import").Range("A65536").End(xlUp).Row).Rows.Count
z = Sheets("Resultat").Range("A30:F" & Sheets("Resultat").Range("A65536").End(xlUp).Row - 1).Rows.Count
If x > z Then
    Sheets("Resultat").Rows("30:" & 30 + (x - (z + 1))).Insert
Else
    Sheets("Resultat").Rows("30:" & 30 + (z - (x + 1))).Delete
End If
Sheets("Import").Range("A2:F" & Sheets("Import").Range("A65536").End(xlUp).Row).Copy _
    Sheets("Resultat").Range("A30")
End Sub

avec un peu de change cela doit mieux correspondre.

bonne après midi
@+
 
Re : variable et suppression ou ajout ligne

Bonsoir Pierrot et le forum
Merci pour ton travail qui est excellent, elle fonctionne correctement mais si il ' y a 3 lignes de titres en bas elle en supprime. Ne prut on pas l' ameliorer et
lui passer un titre en parametre comme butoi en colonne A sur la feuille resultat exepmole TOTAL .
La plage serait de A30:TOTAL
 
- 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
3
Affichages
879
Retour