begin process at 2012 02 16 06:37:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

VBA

 > 

insertion cellule


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

insertion cellule

lundi 2 mai 2005 à 09:56:20 | insertion cellule

emmanuel15

slt à tous,
j'ai un petit pb d'insertion.
Voilà je voudrais avoir un code vba qui me permette d'insérer une cellule vers le haut quand je rencontre un certain texte.

Pour le moment j'ai inséré vers le bas avec ce code
:
Sub insert()
Dim Cel As Range, sr As String
Columns("A:o").Select
For Each Cel In Range("e1:e" & Range("e65536").End(xlDown).Row)
If Cel.Value = "" Then GoTo suite
If Cel.Value = "XXX" Then
Cel.Offset(1, -4).Select
Selection.insert Shift:=xlDown
Cel.Offset(1, -3).Select
Selection.insert Shift:=xlDown
Cel.Offset(1, -2).Select
Selection.insert Shift:=xlDown
Cel.Offset(1, -1).Select
Selection.insert Shift:=xlDown
Cel.Offset(1, 0).Select
Selection.insert Shift:=xlDown
Cel.Offset(1, 1).Select
Selection.insert Shift:=xlDown
Cel.Offset(1, 2).Select
Selection.insert Shift:=xlDown
Cel.Offset(1, 3).Select
Selection.insert Shift:=xlDown
Cel.Offset(1, 4).Select
Selection.insert Shift:=xlDown
Cel.Offset(1, 5).Select
Selection.insert Shift:=xlDown
Cel.Offset(1, 6).Select
Selection.insert Shift:=xlDown
Cel.Offset(1, 7).Select
Selection.insert Shift:=xlDown
Cel.Offset(1, 8).Select
Selection.insert Shift:=xlDown
Cel.Offset(1, 9).Select
Cel.Offset(1, 10).Select
Selection.insert Shift:=xlDown
Cel.Offset(1, 11).Select
Selection.insert Shift:=xlDown

Selection.insert Shift:=xlDown
Cel.Offset(1, 12).Select
Selection.insert Shift:=xlDown
Cel.Offset(1, 13).Select
Selection.insert Shift:=xlDown
End If

suite:
Next Cel
End Sub


Mai quand je veux fait Selection.insert Shift:=up,
ca marche pas (ca doit pas exister...).
Donc si vous pouviez m'aider ca serait cool.

Merci à tous d'avance.

Emmanuel

lundi 2 mai 2005 à 14:00:47 | Re : insertion cellule

Diegoch

essaye avec : .EntireRaw.Insert



pour le reste, ce serait moins lourd avec un boucle
"Cel.Offset(1, -4).Select
Selection.insert Shift:=xlDown
Cel.Offset(1, -3).Select
.......
Selection.insert Shift:=xlDown
Cel.Offset(1, 9).Select
Selection.insert Shift:=xlDown
Cel.Offset(1, 10).Select"

essaye avec quelque chose comme ça :

for i= -4 to 10
   Cel.Offset(1, i).Select
   Selection.EntireRaw.Insert
next i
lundi 2 mai 2005 à 23:03:42 | Re : insertion cellule

jpleroisse

Cette procédure insert une ligne(cellule) au dessus de la cellule contenant "xxx" entre les cellules ("A1:O100")

Sub Insert ()
Dim strx As String
strx = "xxx"
Dim r, c, d
d = strx
Application.ScreenUpdating = False
For r = 1 To 100
    For c = 1 To 15
    If Cells(r, c).Value = d Then
    Cells(r, c).Select
  End If
 Next c
Next r
Selection.EntireRow.Insert
Application.ScreenUpdating = True
End Sub

jpleroisse
mardi 3 mai 2005 à 13:50:06 | Re : insertion cellule

emmanuel15



Merci à tous les 2. Ca marche ;-)

Emmanuel
mardi 3 mai 2005 à 14:08:20 | Re : insertion cellule

emmanuel15

En fait, .... ça marche pas tout à fait.
Je veux insérer une cellule entre A et O et pas une ligne entière.
Donc j'ai changé ton code en :
 Sub insertligneACR()

Dim strx As String
strx = "XXX"
Dim i, c, d
d = strx

For i = 50 To 75
    For c = 3 To 3
    If Cells(i, c).Value = d Then
    Range(Cells(i, 1), Cells(i, 15)).Select
    Selection.Insert Shift:=xlDown

    End If
 Next c
Next i
End Sub


Ca insère bien entre A et O , mais ca insère sur 25 lignes!
Et c'est du au i= 50 to 75 (si je met i = 1 to 100, ca insère  sur 100 lignes...).
Donc si tu vois comment faire en sorte d'insérer une seule cellule dans les colonnes A à O, ca m'arrangerais.

@+
Emmanuel

mardi 3 mai 2005 à 14:23:40 | Re : insertion cellule

emmanuel15

En fait ca insère^pas 25 lignes quand je met i de 50 à 75, plus précisemment, ca insère jusqu'à ce que j'arrive à 75.
I.e. je rencontre une fois XXX à la ligne 70, et il la macro m'insère 5 lignes, de 70 à 75.
Si i va jusqu'à 100, elle m'insère 30 lignes de 70 à 100...
Si vous comprenez...


Emmanuel
mardi 3 mai 2005 à 14:36:19 | Re : insertion cellule

jpleroisse

Je ne vois pas ce que je peux faire de plus , car insérer une cellule, cela n'est pas possible, quand on "insert" une cellule en réalité c'est une ligne car forcément une cellule se trouve dans une ligne.

jpleroisse
mardi 3 mai 2005 à 14:41:02 | Re : insertion cellule

emmanuel15

Mais pourtant si tu fais la macro:
Dim cel As Range, sr As String
Columns("A:o").Select
For Each cel In Range("B1:B" & Range("B65536").End(xlDown).Row)
If cel.Value = "" Then GoTo suite
If cel.Value <> cel.Offset(1, 0).Value Then
sr = cel.Offset(1, 2).Value
cel.Offset(1, 1).Select
cel.Offset(1, -1).Select
Selection.Insert Shift:=xlDown
cel.Offset(1, 0).Select
Selection.Insert Shift:=xlDown
cel.Offset(1, 1).Select
Selection.Insert Shift:=xlDown
cel.Offset(1, 2).Select
Selection.Insert Shift:=xlDown
cel.Offset(1, 3).Select
Selection.Insert Shift:=xlDown
cel.Offset(1, 4).Select
Selection.Insert Shift:=xlDown
cel.Offset(1, 5).Select
Selection.Insert Shift:=xlDown
cel.Offset(1, 6).Select
Selection.Insert Shift:=xlDown
cel.Offset(1, 7).Select
Selection.Insert Shift:=xlDown
cel.Offset(1, 8).Select
Selection.Insert Shift:=xlDown
cel.Offset(1, 9).Select
Selection.Insert Shift:=xlDown
cel.Offset(1, 10).Select
Selection.Insert Shift:=xlDown
cel.Offset(1, 11).Select
Selection.Insert Shift:=xlDown
cel.Offset(1, 12).Select
Selection.Insert Shift:=xlDown
cel.Offset(1, 13).Select
Selection.Insert Shift:=xlDown
cel.Offset(1, 3).Value = sr
Selection.Font.Bold = True
End If

suite:
Next cel
End Sub


(je crois mm que c'est toi qui me l'avais donnée)
Et bien tu insère une cellule en dessous de la case que tu veux pour les collenes A à O.
Là tu n'insère pas une ligne (pour moi une ligne c'est de la colonne 1 à la colonne 65555...).


Emmanuel



Cette discussion est classée dans : insert, offset, shift, selectselection, xldowncel


Répondre à ce message

Sujets en rapport avec ce message

Ecrire à un offset précis ? [ par seyev ] Salut à tous !Je voudrais savoir s'il et possible d'écrire à un offset précis d'un fichier (txt ou non) en VB, et comment le faire si c'est possible.. OFFSET Hexa [ par H@lloWin___HiA ] SAlutJe voudrais faire un patcheur d'executable.Je sais le faire avec une recherche sur de l'hexadecimal (il recherche la première chaine hexadecimale byte et offset [ par MaTHieU ] salut, je voudrai savoir comment connaitre l'offset d'un byte dans un fichier !Merci Problème sur insert dans base car string entre apostrophe et nom " !!!!! [ par Nitocris ] Bonjour, J'essaye de renseigner des tables d'une base de donnée ("Sage") via des drivers ODBC et un programme en VBAA partir d'une feuille Excel r Casse tête chinois sur les strings d'une requête sql sous VBA [ par Nitocris ] Je vais essayé d'être clair pour ceux qui pense que c'est facile :J'ai une string dans la quelle je mets ma requête SQL, dans ce cas précis un Insert J'en peu plus BepBep Help!!!! problème sur un insert [ par Nitocris ] Je vais essayé d'être clair pour ceux qui pense que c'est facile :J'ai une string dans la quelle je mets ma requête SQL, dans ce cas précis un Insert recuperer auto increment après un insert [ par dvm68 ] J'ai deux tablesfacture et ligne de facturesla clé primaire de facture est un auto incrementJe crée une facture en automatique dans du code vbaj'affec Enlever les cotes d'une chaine pour effectuer un insert dans une table [ par dvm68 ] Je crée un chaine constituée de plusieurs chainesDans cette chaine il peut y avoir des apostrophes ou cotes ou doubles cotes ou tout autre caractères Comment ecrire dans un fichier à un offset donné ??? :( [ par coyito ] BonjourExemple à l'octet numéro 123 d'un fichier je veux changer la valeur F par E.Comment faire cela en VB ?Merci pour toute aide ou pisteA+Coyito Comment ecrire dans un fichier à un offset donné ??? :( [ par coyito ] BonjourExemple à l'octet numéro 123 d'un fichier je veux changer la valeur F par E.Comment faire cela en VB ?Merci pour toute aide ou pisteA+Coyito


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,260 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales